2018年12月23日 下午1:43
cmake的一些补充资料:
配置环境变量(头文件,链接库目录,宏定义)的等价方式:CMake 添加头文件目录,链接动态、静态库(添加子文件夹) - Zhang’s Wikipedia - CSDN博客
find_package (Qt5 REQUIRED COMPONENTS Widgets Core) 来历:
c++ - Ubuntu CMake what path to add to CMAKE_MODULE_PATH - Stack Overflow
TARGET_LINK_LIBRARIES (showPointCloud Qt5::Widgets):来历
c++ - Cmake and QT5 - Include only takes one argument - Stack Overflow
要使工程可以使用Qt5的UI和信号槽机制,则需要分别包含UIC功能和MOCCLion+Qt5环境配置 - kestiny的专栏 - CSDN博客
使用CLion开发Qt应用 | 白季飞龙的个人主页
/mac/cmake%E8%AF%B4%E6%98%8E/039DC669-0A54-4F23-BFFE-6692E1E19F19.png)
给cmake更换编译器(我们项目中只能使用clang,因为brew安装了软件软件clang编译的,gcc无法使用)
How to specify new GCC path for CMake - Stack Overflow
跨平台的cmake:
CMake与动态链接库(dll, so, dylib) - yushulx的个人页面 - 开源中国
设置open-mesh链接库
OpenMesh: How to create your own project using OpenMesh
Cmakelist.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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
SET(CMAKE_BUILD_TYPE Release)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package (PCL 1.9 REQUIRED) find_package (Qt5 REQUIRED COMPONENTS Widgets Core) find_package (VTK REQUIRED) find_package (CGAL REQUIRED)
message(STATUS "---1--" ${PCL_LIBRARY_DIRS} )
include_directories (${PCL_INCLUDE_DIRS} ${CGAL_INCLUDE_DIRS} ${GMP_INCLUDE_DIRS} "/usr/local/Cellar/open-mesh/7.1/include") link_directories (${PCL_LIBRARY_DIRS} ${CGAL_LIBRARY_DIRS} ${GMP_LIBRARY_DIRS} "/usr/local/Cellar/open-mesh/7.1/lib") add_definitions (${PCL_DEFINITIONS} ${CGAL_DEFINITIONS} ${GMP_DEFINITIONS})
set (project_SOURCES main.cpp ConstrainedDelaunayTriangulation.cpp ControlOptimizationSnappingDialog.cpp Dialog.cpp EarClip.cpp EarClip2.cpp HiDialog.cpp HoleFilling.cpp HoleFillingInteractiveOperationDialog.cpp OSnap.cpp PCLViewer.cpp PlaneDetectSetParamDialog.cpp RegulateNormalDialog.cpp RemovePointCloudDialog.cpp SetBGColorDialog.cpp SetParams_Mergingvertices_Dialog.cpp SetParams_SimpilyVerticessize_Dialog.cpp SetPointCloudProDialog.cpp SimplifyVerticesSize.cpp snappingvertices.cpp) set (project_HEADERS Commen.h ConstrainedDelaunayTriangulation.h ControlOptimizationSnappingDialog.h Dialog.h EarClip.h EarClip2.h Event.h HeaderFile.h HiDialog.h HoleFilling_PLY.h HoleFilling.h HoleFillingInteractiveOperationDialog.h initialPoly.h OSnap.h PCLViewer.h PlaneDetect.h PlaneDetectSetParamDialog.h Registration.h RegulateNormalDialog.h RemovePointCloudDialog.h SetBGColorDialog.h SetParams_Mergingvertices_Dialog.h SetParams_SimpilyVerticessize_Dialog.h SetPointCloudProDialog.h SimplifyVerticesSize.h snappingvertices.h TriangularMeshing.h) set (project_FORMS ControlOptimizationSnappingDialog.ui Dialog.ui HiDialog.ui HoleFillingInteractiveOperationDialog.ui PCLViewer.ui PlaneDetectSetParamDialog.ui RegulateNormalDialog.ui RemovePointCloudDialog.ui SetBGColorDialog.ui SetParams_Mergingvertices_Dialog.ui SetParams_SimpilyVerticessize_Dialog.ui SetPointCloudProDialog.ui)
QT5_WRAP_CPP (project_HEADERS_MOC ${project_HEADERS}) QT5_WRAP_UI (project_FORMS_HEADERS ${project_FORMS})
ADD_DEFINITIONS (${QT_DEFINITIONS})
ADD_EXECUTABLE (showPointCloud ${project_SOURCES} ${project_FORMS_HEADERS} ${project_HEADERS_MOC})
TARGET_LINK_LIBRARIES (showPointCloud ${PCL_LIBRARIES} ${VTK_LIBRARIES} ${CGAL_LIBRARIES} ${GMP_LIBRARIES}) TARGET_LINK_LIBRARIES (showPointCloud Qt5::Widgets) TARGET_LINK_LIBRARIES (showPointCloud OpenMeshCore) TARGET_LINK_LIBRARIES (showPointCloud OpenMeshTools)
|