c++ - 保留目录结构

标签 c++ cmake

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

  • 来源

    • 工具
    • 模块
    • 核心
      • 着色器
      • 缓冲区
  • 公司

    • 工具
    • 模块
    • 核心
      • 着色器
      • 缓冲区

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})

...等等。 (未测试代码)

关于c++ - 保留目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982459/

相关文章:

c++ - 在 C++ 中使用访问者模式作为解释器

c++ - CMake目标仅编译源文件

c++ - "dynamical storage"与 memcpy

C++ 模板和 OpenBLAS

C++压缩字节数组

c++ - 在 vk_chopper 上使用 cmake 时出错

build-process - 使用 cmake 中的 autotools 构建库

android - Android 交叉编译时如何避免使用 CMake mips64el

c - 我如何告诉我的 IDE 以特定方式编译我的 CMake 项目?

c++ - 如何使异常代码变干?