4 cmake
根据有关if关键字的CMake 文档:
if(DEFINED <variable>)如果给定的变量已定义,则为真。只要变量已经被设置,它是真还是假并不重要。(注意宏参数不是变量。)
我有这个小的 CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
project(abc)
message("CMAKE_CXX_FLAGS_DEBUG 1: ${CMAKE_CXX_FLAGS_DEBUG}")
if(DEFINED ${CMAKE_CXX_FLAGS_DEBUG})
message("CMAKE_CXX_FLAGS_DEBUG 2: ${CMAKE_CXX_FLAGS_DEBUG}")
endif(DEFINED ${CMAKE_CXX_FLAGS_DEBUG})
message("CMAKE_CXX_FLAGS_DEBUG 3: ${CMAKE_CXX_FLAGS_DEBUG}")
Run Code Online (Sandbox Code Playgroud)
这给出了cmake path/to/CMakeLists.txt调用的下一个输出:
CMAKE_CXX_FLAGS_DEBUG 1: -g
CMAKE_CXX_FLAGS_DEBUG 3: -g
-- Configuring done
-- Generating done
-- Build files have been written to: current/dir
Run Code Online (Sandbox Code Playgroud)
第二行在哪里?
CMAKE_CXX_FLAGS_DEBUG 2: -g
Run Code Online (Sandbox Code Playgroud)
Joh*_*ohn 10
使用if(DEFINED <variable>)不if(DEFINED ${<variable>})。换句话说,直接使用变量名,不要在if( 除非它包含另一个你真正想要测试的变量的名称) 中扩展它。
| 归档时间: |
|
| 查看次数: |
8842 次 |
| 最近记录: |