1. cmake_minimum_required(VERSION 2.8.12)
    2. project(vtk-simple)
    3. #
    4. # Find Package
    5. #
    6. #...
    7. #
    8. # 项目配置
    9. #
    10. #工程公共头文件
    11. set(PROJECT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) #工程头文件目录
    12. include_directories(${PROJECT_INCLUDE_DIR}) #添加include目录(全局)
    13. file(GLOB_RECURSE Project_Headers_Files ${PROJECT_INCLUDE_DIR}/*.h ${PROJECT_INCLUDE_DIR}/*.hpp)
    14. #
    15. # 添加
    16. #
    17. set(Project_Src_Dir ${CMAKE_SOURCE_DIR}/src)
    18. file(GLOB_RECURSE files "${Project_Src_Dir}/*.cpp" "${Project_Src_Dir}/*.cxx")
    19. foreach(file ${files})
    20. #工程名
    21. get_filename_component(name ${file} NAME_WE)
    22. #工程文件夹
    23. string(REGEX MATCH "${Project_Src_Dir}(.+)/${name}.+" DIR ${file})
    24. #创建工程
    25. add_executable(${name} ${file} ${Project_Headers_Files})
    26. # Add a reference to VTK for the executable
    27. target_link_libraries(${name}
    28. PRIVATE
    29. #...
    30. )
    31. # 子工程的文件夹
    32. set_property(TARGET ${name} PROPERTY FOLDER ${DIR})
    33. # 代码分组
    34. source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${Project_Headers_Files})
    35. endforeach()
    36. #
    37. # 其他配置
    38. #
    39. # 开启工程分组
    40. set_property(GLOBAL PROPERTY USE_FOLDERS ON)