cmake_minimum_required(VERSION 2.8.12)
project(vtk-simple)
#
# Find Package
#
#...
#
# 项目配置
#
#工程公共头文件
set(PROJECT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) #工程头文件目录
include_directories(${PROJECT_INCLUDE_DIR}) #添加include目录(全局)
file(GLOB_RECURSE Project_Headers_Files ${PROJECT_INCLUDE_DIR}/*.h ${PROJECT_INCLUDE_DIR}/*.hpp)
#
# 添加
#
set(Project_Src_Dir ${CMAKE_SOURCE_DIR}/src)
file(GLOB_RECURSE files "${Project_Src_Dir}/*.cpp" "${Project_Src_Dir}/*.cxx")
foreach(file ${files})
#工程名
get_filename_component(name ${file} NAME_WE)
#工程文件夹
string(REGEX MATCH "${Project_Src_Dir}(.+)/${name}.+" DIR ${file})
#创建工程
add_executable(${name} ${file} ${Project_Headers_Files})
# Add a reference to VTK for the executable
target_link_libraries(${name}
PRIVATE
#...
)
# 子工程的文件夹
set_property(TARGET ${name} PROPERTY FOLDER ${DIR})
# 代码分组
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${Project_Headers_Files})
endforeach()
#
# 其他配置
#
# 开启工程分组
set_property(GLOBAL PROPERTY USE_FOLDERS ON)