Недавно я перенес свой проект Qt
с qmake
на CMake
.
Моя основная программа содержит значение, которое зависит от директивы #define
.
Я хочу указать, что директива define должна быть внешней через CMake
и собрать 3 версии одного и того же исполняемого файла с разными именами.
Как мне это сделать?
Я видел set_target_properties
, но это работает только для библиотек, а не для исполняемых файлов.
Например, я хочу, чтобы следующая программа
int main()
{
cout << BUILDTYPE << endl;
}
была скомпилирована в 3 различных вариантах (3 исполняемых файла) на основе BUILDTYPE "define"
Например, в моем CMakeLists.txt
я хочу указать
add_executable(myAppV1 -DBUILDTYPE=1)
add_executable(myAppV2 -DBUILDTYPE=2)
add_executable(myAppV3 -DBUILDTYPE=3)
, но это неправильный синтаксис. Какой-то намек? и я получаю 3 исполняемых файла, которые печатают