我想将相同的.cpp源文件编译成两个不同的目标可执行文件,我正在使用cmake.一个将有一些仪器代码而另一个不会.这样我就可以比较仪器的开销.
我用#ifdefs分隔了检测代码,所以我想使用-D标志定义一个值.我看到这是可能的
add_definitions(-DINSTRUMENT)
Run Code Online (Sandbox Code Playgroud)
但看起来这适用于该目录中创建的所有可执行文件.我想知道是否有一种很好的方法只为特定的可执行目标设置定义.
szx*_*szx 21
您可以将其中一个目标的COMPILE_DEFINITIONS属性设置为具有特定于目标的定义:
set_target_properties (instrumented_target PROPERTIES COMPILE_DEFINITIONS "INSTRUMENT")
Run Code Online (Sandbox Code Playgroud)
更新:
从CMake 2.8.11开始,您也可以target_compile_definitions用于相同的目的.
| 归档时间: |
|
| 查看次数: |
5639 次 |
| 最近记录: |