【问题标题】:How to group header files in header subfolders under the general header files folder using Cmake如何使用Cmake对通用头文件文件夹下的头子文件夹中的头文件进行分组
【发布时间】:2010-10-15 00:44:41
【问题描述】:

您好,我正在构建基于 Cmake 的构建系统。 我想将头文件分组在通用文件夹 Header Files 下的文件夹中(VC++ 可以做到)。 类似地,我想将相应的.cpp 文件分组到 Source Files 目录下的文件夹中。 不幸的是,我找不到任何有关如何操作的说明。

请帮忙。

迪米特

【问题讨论】:

    标签: visual-c++ file header cmake


    【解决方案1】:

    你应该看看 CMake source_group 命令。

    【讨论】:

      【解决方案2】:

      您可以使用source_group。这是一个具体的例子。

      假设您的目录结构如下:

      |-include
          | some.h
          |-sub
             | someother.h 
      |-src
         | some.cpp
         |-sub
            |-someother.cpp
      

      收集文件(有些人 - 包括文档 - 不鼓励使用 GLOB,但我把它留给你,如果你愿意,你可以逐个列出它们,尽管我发现 GLOB 很多次都很好):

      file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
      file(GLOB HEADER_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/include/sub/*.h")
      file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.h")
      file(GLOB SOURCE_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/src/sub/*.h")
      
      # Setup your library or executable:
      add_library(MY_LIB ${HEADER_FILES} ${HEADER_FILES_SUB}
                         ${SOURCE_FILES} ${SOURCE_FILES_SUB})
      
      # Here's the important part ("Header Files" and "Source Files" are literals.)
      source_group("Header Files\\sub" ${HEADER_FILES_SUB})
      source_group("Source Files\\sub" ${SOURCE_FILES_SUB})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-07
        • 1970-01-01
        相关资源
        最近更新 更多