生成Xcode头组

生成Xcode头组,xcode,macos,cmake,Xcode,Macos,Cmake,我正在用CMake生成Xcode项目。在Xcode中,它可以很好地编译、执行和调试。但它只显示源文件组中的cpp文件。是否有任何方法可以添加另一个头文件组?我的项目在Linux上编译得很好,在Linux中我使用的是KDevelop,一切都很好,我不想破坏它。我不想在ADD\u EXECUTABLE中放置标题 CMake中是否有宏仅为特定IDE创建此类文件组?然后,我将为标题创建一个组,为ui文件创建另一个组,为资源创建另一个组等等。您可以在CMake中轻松区分项目类型。但是,必须在add_exe

我正在用CMake生成Xcode项目。在Xcode中,它可以很好地编译、执行和调试。但它只显示
源文件
组中的cpp文件。是否有任何方法可以添加另一个
头文件
组?我的项目在Linux上编译得很好,在Linux中我使用的是KDevelop,一切都很好,我不想破坏它。我不想在
ADD\u EXECUTABLE
中放置标题


CMake中是否有宏仅为特定IDE创建此类文件组?然后,我将为标题创建一个组,为ui文件创建另一个组,为资源创建另一个组等等。

您可以在CMake中轻松区分项目类型。但是,必须在
add_executable
语句中包含标题,才能将其显示在项目中。我不太清楚为什么您不想在
add\u executable
语句中添加头,它不应该对编译有任何影响(CMake的整个要点是跨多个编译器操作!)。但是,您可以轻松地执行以下操作:

 if (defined XCODE_VERSION)
     add_executable(<ExeName> ${SOURCES} ${HEADERS});
 else()
     add_executable(<ExeName> ${SOURCES});
 endif()

如果(已定义的XCODE\u版本)有效,我将收到错误“已定义的”“XCODE\u版本”指定的未知参数hanks
。但是,如何对UI文件进行分组呢?在我看来,我总是会添加标题,而不是有条件地只为Xcode添加标题。您还需要在其他IDE(VS、CLion等)中使用头文件。另外,我不知道为什么要用
编写CMake命令在末尾。这不是CMake语法;该命令以右括号结束。
 source_group("Source Files" FILES ${SOURCES});
 source_group("Header Files" FILES ${HEADERS});