我正在使用 cmake 2.8.12 .
我通过调用 使用具有相同定义的多个目标add_definitions() .
我想知道如何删除 的这些定义单例目标并将它们替换为一些其他定义或默认定义,例如我没有调用 add_definitions()。
最佳答案
这里更好的方法是为单个目标而不是全局添加定义。
为此,您应该使用 target_compile_definitions
而不是 add_definitions
例如,代替
add_definitions(-DSOMEMACRO)
add_executable(myExecutable main.cpp)
你会用
add_executable(myExecutable main.cpp)
target_compile_definitions(myExecutable PUBLIC -DSOMEMACRO)
这允许您对定义进行细粒度控制,并且通常是设置它们的首选方式。
我认为为每个目标添加定义比从某些目标中删除定义更容易。
关于cmake - 如何在 cmake 2.8.12 中删除每个目标的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049463/