CMake Eclipse构建配置
我想用CMake生成一个Eclipse CDT项目,其中生成的Eclipse项目包含已定义的构建类型作为IDE中的可选构建配置。
例如:
if(CMAKE_CONFIGURATION_TYPES)
set(CMAKE_CONFIGURATION_TYPES PRODUCT_A PRODUCT_B)
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING
"Reset the configurations to what we need"
FORCE)
endif()
SET(CMAKE_C_FLAGS_PRODUCT_A
"-DF_ENABLE_FEATURE_A -DF_ENABLE_FEATURE_B
)
SET(CMAKE_C_FLAGS_PRODUCT_B
"-DF_ENABLE_FEATURE_A
)
通过使用上述方法,Visual Studio项目生成器使我可以构建configuriatons来选择product_A product_B并正确地突出显示活动代码。
但是,如果我生成一个Eclipse项目,构建配置不存在。
我如何获得这个工作的Eclipse项目?
简短的回答:你没有。
Eclipse CDT生成器为生成的Makefiles创建一个包装。 基于Makefile的生成器不能做成多配置。
您将不得不使用单独的二叉树(请注意,两者都可以引用回相同的源码树),并使用诸如选项之类的东西来启用产品A和/或产品B:
OPTION(PRODUCT_A "Build product A." OFF)
OPTION(PRODUCT_B "Build product B." OFF)
IF(PRODUCT_A AND PRODUCT_B)
MESSAGE(SEND_ERROR "Cannot build both product A and B at the same time.")
ENDIF()
IF(PRODUCT_A)
SET(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -DF_ENABLE_FEATURE_A -DF_ENABLE_FEATURE_B"
)
ENDIF()
IF(PRODUCT_B)
SET(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -DF_ENABLE_FEATURE_A"
)
ENDIF()
链接地址: http://www.djcxy.com/p/47751.html