保留目录结构

Preserving directory structure

本文关键字:结构 保留      更新时间:2023-10-16

我有一个具有以下结构的项目:

  • src

    • 工具
    • 模块
    • 堆芯
      • 着色器
      • 缓冲器
  • 包括

    • 工具
    • 模块
    • 堆芯
      • 着色器
      • 缓冲器

CMake在一个唯一的文件夹"源文件"中创建我的项目,其中包含所有.cpp文件。我试图保留原始结构,这里是我的CMakeLists.txt:

# Paths.
set( SRCROOT ${PROJECT_SOURCE_DIR}/src/Framework/Graphic )
set( INCROOT ${PROJECT_SOURCE_DIR}/inc/Framework/Graphic )
# Get .hpp and .cpp files.
file(
    GLOB_RECURSE
    GRAPHIC_FILES
    ${SRCROOT}
    ${INCROOT}
)
# Packages.
find_package(OpenGL REQUIRED)
# Create the library.
add_library(Graphic ${GRAPHIC_FILES} )

我该怎么处理?谢谢你抽出时间!

我假设您正在使用CMake创建一个Visual Studio项目,并希望在文件系统中组织源文件时将其可视化。

可以通过对每个子文件夹中的文件显式使用CMake source group命令来执行此操作。

FILE(GLOB TOOLS_FILES
    ${SRCROOT}/src/tools/*
)
SOURCE_GROUP(tools FILES ${TOOLS_FILES})

等等。(未测试代码)