当前位置: 首页 > news >正文

CGAL/eigenlib/vcglib/boost_1_87_0 CMAKE 配置

上层cmake

# CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置 # 并包含子项目。 # cmake_minimum_required (VERSION 3.8) project ("TriangularMesh") # 包含子项目。 add_subdirectory ("src")

代码cmake

# CMakeList.txt: TriangularMesh 的 CMake 项目,在此处包括源代码并定义 # 项目特定的逻辑。 # cmake_minimum_required (VERSION 3.8) message(STATUS "*******--MyTest--******* " ${CMAKE_CURRENT_SOURCE_DIR}) #add_subdirectory (vcglib) set(VCGLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vcglib) include_directories(${VCGLIB_DIR}/) include_directories(${VCGLIB_DIR}/eigenlib/) include_directories(${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include) include_directories(${CMAKE_CURRENT_LIST_DIR}/boost_1_87_0) # dynamic library set(SHARE_LIB OFF) set(STATIC_LIB OFF) if(SHARE_LIB OR STATIC_LIB) set(SOURCES ${VCGLIB_DIR}/wrap/ply/plylib.cpp #${CMAKE_CURRENT_SOURCE_DIR}/cmesh.cpp #${CMAKE_CURRENT_SOURCE_DIR}/LaplacianSmooth.cpp ) set(HEADERS ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/assertions.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/config.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Origin.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Point_2.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Point_3.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Simple_cartesian.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Surface_mesh.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/IO/OBJ.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Polygon_mesh_processing/compute_normal.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Polygon_mesh_processing/detect_features.h ${CMAKE_CURRENT_LIST_DIR}/CGAL-5.6/include/CGAL/Polygon_mesh_processing/smooth_shape.h ${VCGLIB_DIR}/wrap/ply/plylib.h ${VCGLIB_DIR}/wrap/io_trimesh/import_ply.h ${VCGLIB_DIR}/wrap/io_trimesh/export_ply.h #${CMAKE_CURRENT_SOURCE_DIR}/base_types.h #${CMAKE_CURRENT_SOURCE_DIR}/cmesh.h ##${CMAKE_CURRENT_SOURCE_DIR}/LaplacianSmooth.h ) if(SHARE_LIB) add_definitions(-DEXPORT_DYNAMIC=1) #add_compile_definitions(-DEXPORT_DYNAMIC=1) #target_compile_definitions(${PROJECT_NAME} PRIVATE EXPORT_DYNAMIC=1) add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADERS}) #set_target_properties(${PROJECT_NAME} PROPERTIES # 指定输出路径 # RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # DLL 输出 # ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib # LIB 导出库输出 # ) #add_executable(MyLibTest ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp) #target_include_directories(MyLibTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) #target_link_libraries(MyLibTest PRIVATE ${PROJECT_NAME}) #set_target_properties(MyLibTest PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) elseif(STATIC_LIB) add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS}) endif() install(FILES ${HEADERS} DESTINATION include ) else() set(SOURCES ${VCGLIB_DIR}/wrap/ply/plylib.cpp #${CMAKE_CURRENT_SOURCE_DIR}/cmesh.cpp ${CMAKE_CURRENT_SOURCE_DIR}/TriangularMeshFun.cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ) set(HEADERS ${VCGLIB_DIR}/wrap/ply/plylib.h ${VCGLIB_DIR}/wrap/io_trimesh/import_ply.h ${VCGLIB_DIR}/wrap/io_trimesh/export_ply.h #${CMAKE_CURRENT_SOURCE_DIR}/base_types.h # ${CMAKE_CURRENT_SOURCE_DIR}/cmesh.h ${CMAKE_CURRENT_SOURCE_DIR}/TriangularMeshFun.h ) add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) if(MSVC) target_compile_options(${PROJECT_NAME} PRIVATE "/bigobj") # ----------------------------------??? endif() #set_target_properties(${PROJECT_NAME} PROPERTIES #VS_DEBUGGER_COMMAND_ARGUMENTS "input.obj output.obj --translate 0.5 0.5 0.5 --rotate-axis 1 1 1 45 --scale 2 --log transform.log --verbose 1" #) endif() target_compile_definitions(TriangularMesh PUBLIC ) #可选? if (CMAKE_VERSION VERSION_GREATER 3.12) # ----------------------------------??? set_property(TARGET TriangularMesh PROPERTY CXX_STANDARD 20) endif() install(TARGETS ${PROJECT_NAME} # ----------------------------------??? LIBRARY DESTINATION lib # 共享库(Linux: .so, macOS: .dylib) ARCHIVE DESTINATION lib # 静态库(.a) RUNTIME DESTINATION bin # Windows 的 DLL ) # 将源代码添加到此项目的可执行文件。 #add_executable (TriangularMesh "main.cpp") # TODO: 如有需要,请添加测试并安装目标。
http://www.jsqmd.com/news/493534/

相关文章:

  • Qwen2-VL-2B-Instruct与YOLOv8协同实战:智能视频分析系统
  • java毕业设计基于springboot+Java Web的租房管理系统22787207
  • 【收藏级干货】CTF:网络安全大学生的“硬通货“,大厂敲门砖+高薪+保研的捷径
  • 2026全链路CRM业务管理平台横评:五大核心环节能力对决
  • 互联网大厂Java面试故事:严肃面试官与搞笑谢飞机的技术历险
  • Conformer语音识别模型:从原理到工程实践的关键技术解析
  • Vulnhub DC-3 --手搓sql
  • leetcode 274 H指数
  • 6 个让我作为软件工程师生活更轻松的工具
  • 图片旋转判断生产环境应用:高并发图片流中实时角度识别方案
  • Qwen3-ForcedAligner-0.6B方言支持测评:22种中文方言对齐效果
  • 手把手教你搭建!Fun-ASR-MLT-Nano-2512语音识别Web界面快速上手
  • NEURAL MASK 实战:集成YOLOv8实现智能目标检测与视觉重构
  • django flask+uniapp的个人理财家庭财务收支系统422vl 小程序
  • 清音听真实战:快速处理带背景音乐录音,识别效果实测
  • 双元法实战:从基础到高阶的不定积分求解技巧
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4与MATLAB联动:科学计算问题求解与可视化建议
  • 清音刻墨·Qwen3应用场景:播客剪辑中自动定位金句并生成时间戳摘要
  • Qwen3-ASR-1.7B算法解析:从卷积神经网络到语音识别
  • 构建韧性数据库架构
  • 企业级文档处理新选择:Glyph视觉推理零基础入门指南
  • 多语种跨境业务:SenseVoice-Small ONNX模型外贸会议转录案例
  • 开源人脸分析系统部署教程:Face Analysis WebUI适配A10/A100/V100多卡GPU算力
  • 2026高职统计与大数据分析毕业缺少实战经验怎么办?
  • PyQt5与PyQt5-tools安装全攻略:从环境配置到QT Designer集成
  • 5分钟看懂PON系统中的VLAN配置:PUPV和PUPSPV到底怎么选?
  • 突破跨平台壁垒:Nigate实现Mac与NTFS设备无缝协作的创新方案
  • seismic cluster analysis
  • SenseVoice语音识别快速上手:一键部署多语言转写Web界面
  • OFA-Image-Caption模型文件读写优化:处理海量图片流的高效本地缓存策略