如何在cmake 2.8.12中删除每个目标的定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在cmake 2.8.12中删除每个目标的定义相关的知识,希望对你有一定的参考价值。
我正在使用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 2.8.12中删除每个目标的定义的主要内容,如果未能解决你的问题,请参考以下文章