为目标设置可选属性

时间:2019-10-31 15:40:13

标签: cmake

是否可以为目标设置可选属性? (有或没有默认值)

考虑以下示例:

add_executable(main main.cpp)
set_target_properties(main PROPERTIES COMPILE_FLAGS "-DMY_FLAG=1")

运行cmake之后,我可以运行make main,并且宏MY_FLAG将设置为1。 但是我希望能够使用make或类似方法来运行make main -DMY_FLAG=5时设置宏的值。

为进一步说明: 编写Makefile时,我可以做类似的事情

main: main.cpp
ifdef my_flag
  g++ main.cpp -o main -DMY_FLAG=$(my_flag)
else
  g++ main.cpp -o main -DMY_FLAG=1
endif

,然后运行make mainmake main my_flag=5,宏将被设置为默认值15。 我想通过cmake达到类似的结果。

0 个答案:

没有答案