На последнем этапе создания исполняемого файла для моего мультимедийного проекта у меня есть что-то вроде этого в одном из моего CMakeFiles.txt
add_executable(project a.cpp a.h)
if(WIN32)
link_directories(${PROJECT_SOURCE_DIR}/lib/win)
target_link_libraries(project opengl32 glfw3dll OpenAL32 alut ogg vorbis vorbisenc vorbisfile)
else()
link_directories(${PROJECT_SOURCE_DIR}/lib/linux)
target_link_libraries(project gl glfw3 openal alut vorbis ogg vorbisenc vorbisfile)
endif()
Внутри каталога /lib/win
находятся все библиотеки, которые я хочу связатьto.
Но каждый раз, когда cmake сообщает, что он строит проект, я получаю сообщение об ошибке:
Error LNK1104 cannot open file 'glfw3dll.lib' C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CMakeLists.txt C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\LINK 1
(Да, файл, сгенерированный проектом CMake glfw, называется "glfw3dll.lib").)
Я могу жестко связываться с каждой библиотекой, используя:
target_link_libraries(project ${PROJECT_SOURCE_DIR}/lib/win/glfw3dll.lib)
для каждой отдельной библиотеки, но я думаю, что CMake не был создан, чтобы я мог написать все это ...
Также, конечно, для развертывания программного обеспечения необходимо скопировать соответствующие библиотеки в каталог окончательной сборки и установки.Как мне сказать CMake сделать это?