source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>]) source_group(TREE<root> [PREFIX <prefix>] [FILES <src>...]) Defines a group into which sources will be placed in project files. This is intended to set up file tabs in Visual Studio. The options are: TREE CMake...
source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])Defines a group into which sources will be placed in project files. This is intended to set up file tabs in Visual Studio. The options are: TREE CMake will automatically detect, from <src> files paths, source groups it ...
cmake_minimum_required(VERSION3.20)project(cmake_vs_group)file(WRITE main.cpp [=[intmain() {return0; } ]=])file(WRITE a.cpp"")file(WRITE b.cpp"")file(WRITE a.h"")file(WRITE b.h"")add_executable(vs_group main.cpp a.cpp b.cpp a.h b.h)source_group(src FILES a.cpp b.cpp...
在 Visual Studio 中,直接将代码文件添加至项目时,会按头文件和源文件分别放在 Header Files 和 Source Files 两个 filter 下,这其实和没有分层分类没有区别。 使用source_group 可以将文件在 Visual Studio 中分层分类。 source_group 在CMakeLists.txt 中使用 source_group 为源码文件分组。source_group 的第一...
source_group_by_dir(all_files) 代码语言:javascript 复制 其中all_files是保存了所有文件名的变量。注意,这里用的是变量名,而没有引用其值。一般这个文件列表可以用file()或者aux_source_directory()来得到。例如对于C++工程,通常是这样的: 代码语言:javascript ...
# 创建源文件组source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${SOURCE_FILES} ${HEADER_FILES})# 如果有 UI 文件或资源文件,也可以在此处添加set(UI_FILESmainwindow.ui)set(QRC_FILESresources.qrc)qt5_wrap_ui(UI_HEADERS ${UI_FILES})qt5_add_resources(QRC_RESOURCES ${QRC_FILES})add...
SOURCE_GROUP("include/sample" FILES ${INCLUDE_sample})#在目录include结构下添加sample文件夹,文件夹下添加变量INCLUDE_sample中的所有文件 将前面添加的所有源文件添加到ALL_SOURCES 变量下,方便后面使用 SET(ALL_SOURCES ${SOURCE_all} ${SOURCE_sample} ...
然后调用: auto_source_group(source${CMAKE_CURRENT_SOURCE_DIR}/source${C_FILES}${CPP_FILES}${H_FILES}) 参数1source是VS工程中根节点的名称(可任意修改),参数2是源码的根目录,参数3~5是需要对目录进行分级的文件。 目录分级后的效果示意:
endif(sgbd_nogroup) source_group(${sgbd_group_name} FILES ${sgbd_file}) endforeach(sgbd_file) endif(MSVC) endmacro(source_group_by_dir) 使用的时候,先在比较顶层的CMakeLists.txt中定义该宏。然后在添加工程(add_library或者add_executable)的CMakeLists.txt文件中调用该宏: ...