ein*_*ica 3 idioms dry cmake compiler-options
有人 告诉我,CFLAGS直接在 CMake 中进行设置是不好的做法,相反,我应该使用该target_compile_definitions()命令。
好的,但是 - 如果我想对多个(独立)目标使用相似/相同的定义怎么办?我不想一遍又一遍地重复自己。
我看到了三种可能的方式:
首选使用target_compile_definitions(... INTERFACE/PUBLIC ...)它会通过target_link_libraries()命令将编译器定义自我传播到依赖于它的目标。
使用set_property(TARGET target1 target2 ... APPEND PROPERTY COMPILE_DEFINITIONS ...)为多个目标设置相同的定义。
你仍然可以使用的“旧命令”add_definitions()和remove_definitions()修改COMPILE_DEFINITIONS目录属性(它会预先设置都COMPILE_DEFINITIONS在此目录范围内的目标属性)。
| 归档时间: |
|
| 查看次数: |
3464 次 |
| 最近记录: |