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
使用其他CMake_BUILD_类型时,CMake警告将消失_Build_Cmake_Warnings - Fatal编程技术网

使用其他CMake_BUILD_类型时,CMake警告将消失

使用其他CMake_BUILD_类型时,CMake警告将消失,build,cmake,warnings,Build,Cmake,Warnings,我使用的是cmake版本3.5.1。 如果在带有-DCMAKE\u BUILD\u TYPE=Release的项目上执行cmake,则会显示关于CMakeLists.txt的cmake警告(开发)策略CMP0043的参数警告 但奇怪的是,当我使用-DCMAKE\u BUILD\u TYPE=Debug(没有其他更改)时,即使添加-Wdev-Wdeprecated,警告也不再显示 为什么在使用其他生成类型时警告会消失?如何将其取回?策略是关于使用目标的属性COMPILE\u DEFINITIONS

我使用的是cmake版本3.5.1。 如果在带有
-DCMAKE\u BUILD\u TYPE=Release
的项目上执行cmake,则会显示关于CMakeLists.txt的cmake警告(开发)策略CMP0043的参数警告

但奇怪的是,当我使用
-DCMAKE\u BUILD\u TYPE=Debug
(没有其他更改)时,即使添加
-Wdev-Wdeprecated
,警告也不再显示

为什么在使用其他生成类型时警告会消失?如何将其取回?

策略是关于使用目标的属性
COMPILE\u DEFINITIONS.
。根据描述,如果有人使用这些属性,CMake应该发出警告。看起来,对于单个配置生成器,CMake只检查活动配置的属性。也就是说,如果有人设置了
COMPILE\u DEFINITIONS\u RELEASE
属性,则CMake会在“RELEASE”构建中发出警告,但在“Debug”构建中会完全忽略它。策略是关于使用目标的属性
COMPILE\u DEFINITIONS\u
。根据描述,如果有人使用这些属性,CMake应该发出警告。看起来,对于单个配置生成器,CMake只检查活动配置的属性。也就是说,如果有人设置了
COMPILE\u DEFINITIONS\u RELEASE
属性,CMake会在“RELEASE”构建中发出警告,但在“Debug”构建中会完全忽略它。