1
有没有办法在一个CMakeLists.txt文件中为相同的类创建单独的可执行文件,但是出于其他目的?这有点像DEBUG/RELEASE switch,但我需要在源代码级别做出决定。使用单个CMakeLists.txt生成多模式可执行文件
伪的CMakeLists.txt:
SET_INTENTION(app1 1)
ADD_EXECUTABLE(app1 main.cxx)
SET_INTENTION(app2 2)
ADD_EXECUTABLE(app2 main.cxx)
伪代码main.cxx:
if (intention == 1)
//do something different to intention == 2
我试着在源ADD_DEFINITIONS
作为预处理器定义和#ifdef
,但CMake的似乎解释整个文件并得到了所有的定义,无论在什么位置添加定义。将ADD_EXECUTABLES()
拆分成两个CMakeLists.txt
(在子文件夹中)并不是非常简单,并且在使用QT4_WRAP_CPP
和QT4_WRAP_UI
时会导致问题。我很欣赏任何想法/解决方法。