我有一个主cmake项目,它有一个PROJECT_INCLUDE_PATH,它是一个缓存变量。我将此变量作为CMAKE_ARGS参数传递给我使用ExternalProject_Add()添加的外部项目。
问题是,当我使用'make edit_cache'更改PROJECT_INCLUDE_PATH的值时,不会重新配置外部项目。
在主项目中更改缓存变量时,有没有办法让外部项目自动重新配置和构建?
答案 0 :(得分:0)
我总是在修改CMakeCache.txt之后重新运行CMake(不是我经常这样做)。这会更新您的ExternalProject_Add
电话。
这里可能更安全的选择是避免make edit_cache
,只需使用命令行参数-DPROJECT_INCLUDE_PATH:PATH=<updated value>
重新运行CMake。
答案 1 :(得分:0)
我发现我没有传递正确的变量。现在它正常工作。