cmake: ExternalProject_Add () не применяет аргументы cmake - PullRequest
0 голосов
/ 01 октября 2018

У меня проблемы при создании внешней библиотеки (glfw) в моем файле cmake:

[...]

ExternalProject_Add(glfw
    PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/glfw"
    URL "https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip"
    URL_HASH SHA256=b7d55e13e07095119e7d5f6792586dd0849c9fcdd867d49a4a5ac31f982f7326
    CMAKE_ARGS "-DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF"
    INSTALL_COMMAND ""
    TEST_COMMAND ""
)

add_executable(test main.cpp)
add_dependencies(test glfw)

Хотя это работает довольно хорошо, указанные аргументы cmake -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF игнорируются.

Согласно документации glfw аргументы должны отключить примеры сборки и тесты.Я только хочу собрать библиотеку (цель: glfw).

Если я попытаюсь собрать библиотеку отдельно

cmake -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF

, тогда она будет работать как положено.изучите документацию cmake , но я не могу больше ничего узнать.

Я что-то не так делаю?Вы можете выбрать, какую цель строить или нет?

1 Ответ

0 голосов
/ 01 октября 2018

Параметр CMAKE_ARGS содержит список опций, НЕ одиночная строка с разделенными пробелом опциями.Правильно:

CMAKE_ARGS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...