CMake在Visual Studio下保持目录结构

简介: CMake在Visual Studio下保持目录结构原理主要通过CMAKE自带函数source_group来设定。需要把add_executable()函数进行封装,包裹一层source_group()的处理例子现有目录结构hello/include/hello.

CMake在Visual Studio下保持目录结构

原理

主要通过CMAKE自带函数source_group来设定。
需要把add_executable()函数进行封装,包裹一层source_group()的处理

例子

现有目录结构

hello/include/hello.hpp
hello/src/hello.cpp
hello/CMakeLists.txt

编写CMakeLists.txt

cmake_minimum_required(VERSION 3.1)

project(hello)

function(assign_source_group)
    foreach(_source IN ITEMS ${ARGN})
        if (IS_ABSOLUTE "${_source}")
            file(RELATIVE_PATH _source_rel "${CMAKE_CURRENT_SOURCE_DIR}" "${_source}")
        else()
            set(_source_rel "${_source}")
        endif()
        get_filename_component(_source_path "${_source_rel}" PATH)
        string(REPLACE "/" "\\" _source_path_msvc "${_source_path}")
        source_group("${_source_path_msvc}" FILES "${_source}")
    endforeach()
endfunction(assign_source_group)

function(my_add_executable)
    foreach(_source IN ITEMS ${ARGN})
        assign_source_group(${_source})
    endforeach()
    add_executable(${ARGV})
endfunction(my_add_executable)

my_add_executable(hello include/hello.hpp src/hello.cpp)

执行编译

cd hello
mkdir build
cd build
cmake .. -G "Visual Studio 14 Win64"
cmake --build .

打开hello/build/hello.sln看看,是不是好了!

Reference

https://stackoverflow.com/questions/31422680/how-to-set-visual-studio-filters-for-nested-sub-directory-using-cmake

目录
相关文章
|
6月前
|
IDE 编译器 开发工具
C/C++ IDE环境 (Qt Creator visual studio等) Cmake工程不显示头文件的解决方案
C/C++ IDE环境 (Qt Creator visual studio等) Cmake工程不显示头文件的解决方案
163 0
【C++】CMake中Visual Studio的MSVC版本与PCL版本对应关系
【C++】CMake中Visual Studio的MSVC版本与PCL版本对应关系
286 0
|
编译器 C++
[✔️]CMake生成的VisualStudio项目,Qt的头文件目录默认添加了编译选项,如何在添加到c++头文件目录
[✔️]CMake生成的VisualStudio项目,Qt的头文件目录默认添加了编译选项,如何在添加到c++头文件目录
151 0
|
C++ 编译器 开发者
|
6月前
Visual Studio 2022 中VLD库如何安装
Visual Studio 2022 中VLD库如何安装
729 1
|
6月前
Visual Studio 2022 中VLD库如何安装
Visual Studio 2022 中VLD库如何安装
702 0
|
5月前
|
IDE 开发工具 C语言
Visual Studio 2017 安装及使用(新手)
Visual Studio 2017 安装及使用(新手)
1137 0
|
4月前
|
弹性计算 自然语言处理 Windows
通义灵码 Visual Studio 下载安装指南(附安装包)
本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。
131545 20
|
4月前
|
前端开发 JavaScript 开发工具