내가 아는 한, cmake는 구성에 따라 일부 파일을 제외하는 방법을 제공하지 않습니다. 따라서이 문제를 해결하려면 해결 방법이 필요합니다. cmake에서
#ifdef BUILD_ME
//original content of your file
#endif
하고 다음 세트 구성 특정 컴파일러 정의 :
if (${CMAKE_GENERATOR} MATCHES "Make" AND "${CMAKE_BUILD_TYPE}" STREQUAL "")
# This block might be needed because CMAKE_BUILD_TYPE is usually
# undefined for makefiles.
# And COMPILE_DEFINITIONS_RELEASE are not chosen by default.
set(CMAKE_BUILD_TYPE RELEASE)
endif()
set_source_files_properties(b.cpp PROPERTIES COMPILE_DEFINITIONS_DEBUG BUILD_ME)
set_source_files_properties(c.cpp PROPERTIES COMPILE_DEFINITIONS_RELEASE BUILD_ME)
add_executable(target_name a.cpp b.cpp c.cpp)
예를 들어, 당신은 몇 가지 가드 매크로 전체 b.cpp
의 내용과 c.cpp
를 포장 할 수 있습니다