Qt
프로젝트를 최근에 qmake
에서 CMake
으로 이식했습니다. 주 프로그램에 #define
지시어에 의존하는 값이 포함되어 있습니다.CMake에서 변수의 두 가지 다른 값으로 프로그램을 작성하는 방법
CMake
을 통해 외부에서 define 지시어를 지정하고 동일한 실행 파일의 3 가지 다른 이름의 버전을 빌드하고자합니다.
어떻게해야합니까?
나는 set_target_properties
을 보았지만이 파일은 라이브러리에서만 실행 가능하며 실행 파일에서는 사용할 수 없습니다.
예를 들어 나는 다음과 같은 프로그램이,
int main()
{
cout << BUILDTYPE << endl;
}
이가 내가
add_executable(myAppV1 -DBUILDTYPE=1)
add_executable(myAppV2 -DBUILDTYPE=2)
add_executable(myAppV3 -DBUILDTYPE=3)
를 지정하려면 내
CMakeLists.txt
에서 예를 들어
BUILDTYPE "define"
에 따라 3 개 가지 맛 (3 개 실행)에서 컴파일되어 있다고합니다
하지만 올바른 구문은 아닙니다. 힌트를 주시겠습니까? 및 인쇄 할 수있는 실행 파일이 3 개 있습니다.
감사합니다. 나는 add_executable 후 set_target_properties를 이동하고 당신이 쓴 두 번째 버전 add_executable (myAppv1 MAIN.CPP) set_target_properties (myAppV1 특성 COMPILE_DEFINITIONS "BUILDTYPE = 1") 하지만이 방법 add_executable (myAppv1에서 사용해야 main.cpp) set_target_properties (myAppV1 PROPERTIES COMPILE_DEFINITIONS "-DBUILDTYPE = 1") – linello