Итак, я столкнулся с проблемой, когда мне нужно было некоторое время использовать linux вместо windows, и я подумал, что в linux нет Visual Studio.Затем я также осознал, что создал свой проект только для Visual Studio, что мне не нужно.
Поэтому я просмотрел несколько руководств по CMake и попытался создать несколько примеров, которые можно было бы загрузить как в Visual Studio, так и в CodeBlocks.,Когда я заставил это работать, я пошел и написал код сценария CMake для моей настоящей программы, объединив то, что я узнал и что я нашел в руководствах.Смотрите здесь:
cmake_minimum_required(VERSION 2.8.9)
add_subdirectory(libraries/glfw)
project (OpenGLEngine3D)
include_directories(libraries/glfw/include)
include_directories(libraries/glm)
include_directories(libraries/glad/include)
include_directories(libraries/whereami/src)
include_directories(libraries/stb)
file(GLOB SOURCES "src/*.cpp" "src/*.h" "libraries/whereami/src/whereami.c" "libraries/glad/src/glad.c")
add_executable(OpenGLEngine3D ${SOURCES})
target_link_libraries(OpenGLEngine3D glfw)
Это грязно (я думаю), но это работает.Итак, теперь мой первый вопрос состоит в том, как улучшить мой сценарий CMake?Что излишне или сделано плохо?
Теперь моей программе также требуются некоторые ресурсы (например, шейдеры, текстуры), которые я хранил в каталоге вместе со своим сценарием CMake, библиотеками и файлами c ++.Итак, мой второй вопрос состоит в том, как я могу сказать CMake для ide / compiler, чтобы он копировал файлы в определенном каталоге в каталог сборки программы (где находятся скомпилированные двоичные файлы) после компиляции?сделайте это, когда файлов там нет.)
Спасибо!