Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用ExternalProject\u Add添加的外部项目上设置CMake策略和属性_Cmake_External Project - Fatal编程技术网

如何在使用ExternalProject\u Add添加的外部项目上设置CMake策略和属性

如何在使用ExternalProject\u Add添加的外部项目上设置CMake策略和属性,cmake,external-project,Cmake,External Project,我有一个cmake项目,它使用cmake的ExternalProject\u Add功能的外部项目。是否有办法设置外部项目的策略和属性 我希望在我的项目中设置的以下策略和属性也转发到外部项目,以便使用静态多线程windows运行时库而不是动态库 cmake_policy(SET CMP0091 NEW) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") cmake_策略(将CM

我有一个cmake项目,它使用cmake的ExternalProject\u Add功能的外部项目。是否有办法设置外部项目的策略和属性

我希望在我的项目中设置的以下策略和属性也转发到外部项目,以便使用静态多线程windows运行时库而不是动态库

cmake_policy(SET CMP0091 NEW)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
cmake_策略(将CMP0091设置为新)
设置(CMAKE\U MSVC\U运行时\U库“多线程$”)

您可以简单地将这些设置添加到
ExternalProject\u add
命令的
CMAKE\u ARGS
变量中,例如

ExternalProject_Add(<you_name_it>
  ...
  CMAKE_ARGS
           -DCMAKE_POLICY_DEFAULT_CMP0091:STRING=NEW 
           -DCMAKE_MSVC_RUNTIME_LIBRARY:STRING=MultiThreaded$<$<CONFIG:Debug>:Debug>
           ...
)
ExternalProject\u添加(
...
CMAKE_ARGS
-DCMAKE\u POLICY\u DEFAULT\u CMP0091:STRING=NEW
-DCMAKE\u MSVC\u运行时\u库:字符串=多线程$
...
)

您是否已尝试将它们添加到
ExternalProject\u add
命令上的
CMAKE\u ARGS
变量中,例如
-DCMAKE\u POLICY\u DEFAULT\u CMP0091:STRING=NEW-DCMAKE\u MSVC\u RUNTIME\u LIBRARY:STRING=multi threaded$
?不知道可以这样设置策略。现在已经测试过了,效果非常好!你能把这个加上作为答案吗?这样我就可以把它标记为接受答案了。谢谢