我正在使用CMake生成Xcode项目。在Xcode中,它可以编译,执行和调试。但它只显示Source Files
组中的cpp文件。有没有办法添加另一个Header Files
组?我的项目在Linux上编译得很好,在Linux中我使用的是KDevelop,一切都运行得很好,而且我不想打破它。我不想将标题放在ADD_EXECUTABLE
中。
CMake中是否存在仅为特定IDE创建此类文件组的宏?然后我会为标题创建一个组,为ui文件创建另一个组,为资源创建另一个组等。
答案 0 :(得分:1)
您可以轻松区分CMake中的项目类型。但是,您必须在add_executable
语句中包含标题,以使它们出现在项目中。我不确定为什么你不想在add_executable
语句中添加标题,它不应该对编译有任何影响(CMake的整个要点是在多个编译器中运行!)。但是,你可以很容易地做到:
if (defined XCODE_VERSION)
add_executable(<ExeName> ${SOURCES} ${HEADERS});
else()
add_executable(<ExeName> ${SOURCES});
endif()
因此只影响XCode项目。如果要在IDE中的不同组中排列源(标题等),则执行该操作的通用CMake命令为source_group
。所以,你可以这样做:
source_group("Source Files" FILES ${SOURCES});
source_group("Header Files" FILES ${HEADERS});