在我的cmake文件中构建外部库(glfw)时遇到麻烦:
[...]
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 documentation,参数应禁用构建示例和测试。我只想构建该库(目标:glfw)。
如果我尝试单独构建库
cmake -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF
然后按预期运行。
我也研究了cmake documentation,但我再也无法掌握了。
我做错什么了吗?您能否选择要建立的目标?
答案 0 :(得分:2)
参数CMAKE_ARGS
包含选项的列表,而不是带有以空格分隔的选项的单个字符串。正确:
CMAKE_ARGS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF