CMakeLists多目录通用模板
2020-08-10 09:03
711 查看
以一个通用组织的工程(包含PCL,VTK,libLAS第三方库)为示例,具有含义从英语意思进行理解
工程目录结构
├── shape
│ ├── CMakeLists.txt
│ ├── include
│ │ ├── shape.h
│ │ └── config.h
│ └── src
│ ├── shape.cpp
│ └── config.cpp
├── CMakeLists.txt
├── point
│ ├── CMakeLists.txt
│ ├── include
│ │ └── point.h
│ └── src
│ └── point.cpp
└── unit_test
├── CMakeLists.txt
└── main.cpp
- 顶层CMakeList.txt
[code]cmake_minimum_required (VERSION 3.5 FATAL_ERROR) project(shape) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g3 -rdynamic -Wall") set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_BUILD_TYPE Debug) find_package (BOOST REQUIRED) find_package (tinyxml REQUIRED) find_package (fmt REQUIRED) include_directories (${INCLUDE_DIRS}) link_directories (${LIBRARY_DIRS}) add_definitions (${DEFINITIONS}) include_directories(${PROJECT_SOURCE_DIR}/) link_directories(${PROJECT_BINARY_DIR}/libs) set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/libs) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/libs) add_subdirectory(shape) add_subdirectory(point) add_subdirectory(test)
- shape目录
[code]project(shape) set(srcs src/shape.cpp src/config.cpp) include_directories("include") add_library(shape SHARED ${incs} ${srcs}) target_link_libraries (shape ${LIBRARIES} ${LIBRARIES})
- point 目录
[code]project(shape) set(srcs src/point.cpp) include_directories("include") add_library(point SHARED ${incs} ${srcs}) target_link_libraries (point ${LIBRARIES})
- test 目录
[code]project(shape) add_executable(unitest main.cpp) target_link_libraries(unitest shape point)
相关文章推荐
- CMakeLists多目录通用模板及Win&Linux兼容动态库编写
- Cmake CMakeLists.txt配置文件通用模板
- 通用的 cmakeLists.txt 文件
- 多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)___适合自己参考实验,待实验模型)
- 简易cmake多文件多目录工程模板
- C++ CMake通用模板
- Cmakelists.txt最后实现部分模板
- Cmakelists.txt中间部分模板
- 多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)
- 多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)
- CMakeLists.txt文件写法(12):查找特定软件的安装目录
- 通用类别目录Global Catalog[为企业维护windows server 2008系列五] 推荐
- android源码下编译自有工程通用make模板
- linux CMakeLists.txt 语法
- freemarker实现通用布局的模板拆分与复用
- Flask多蓝图模板目录冲突解决
- Cmake配置工程,管理src和include文件夹,构建最常见的工程目录结构
- CMakeLists.txt 文件&范例
- cmake 添加头文件目录,链接动态、静态库
- 《Cmake 实践》【初试 cmake – cmake 的 helloworld】CMakeLists.txt错误