Я пишу файл CMakeLists.txt моего проекта.Мой проект опирается на внешнюю зависимость, GLFW , к счастью для меня GLFW также использует CMake для своей системы сборки.Я использую подмодули find_package () и git для управления зависимостями, в настоящее время мой файл CMakeLists.txt выглядит так:
# CMake version
cmake_minimum_required(VERSION 3.0)
# project name
project(CHIP-8)
# dependency management
find_package(OpenGL REQUIRED)
find_package(glfw)
if(NOT glfw)
message("Unable to locate glfw.")
message("Cloning the repository.")
execute_process(
COMMAND
git submodule update --init -- libs
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}
)
message("Building glfw.")
add_subdirectory(libs/glfw)
endif()
Из моего ограниченного понимания CMake команда add_subdirectory(libs/glfw)
запускает CMake нанедавно клонированный подмодуль glfw.Проблема в том, что многие ненужные функции являются частью сборки по умолчанию для GLFW, такие как примеры, модульные тесты и документация.
В документации для компиляции GLFW перечислены параметры CMake для отключения этихfeatures GLFW_BUILD_EXAMPLES
, GLFW_BUILD_TESTS
и GLFW_BUILD_DOCS
.
У меня есть два вопроса: первый - как я могу указать эти параметры, а второй - аргумент, который я передаю для find_package, точного (у меня естьGLFW установлен в моей системе, но каждый раз, когда я собираю его, он все еще пытается клонировать и создать хранилище).