CMake在Visual Studio下生成目录结构
通过CMAKE自带函数source_group可以实现在Visual Studio下生成目录结构。
然而如果每个项目都这样手工一个个写岂不是很累,幸好发现一个现成脚本,不用自己重复发明轮子了。
例子:
1 2 3 4
| hello/include/hello.hpp hello/src/hello.cpp hello/CMakeLists.txt
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 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)
|