|
|
|
cmake_minimum_required(VERSION 3.21)
|
|
|
|
project(SingularityJudger)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
|
|
|
|
include_directories(include)
|
|
|
|
# 引入glm tinynurbs依赖
|
|
|
|
include_directories(E:/CLib/tinynurbs/include E:/CLib/glm)
|
|
|
|
|
|
|
|
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
|
|
|
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
|
|
|
|
|
|
|
|
|
|
|
add_executable(SingularityJudger main.cpp
|
|
|
|
include/loop_detector.h src/loop_detector.cpp
|
|
|
|
include/gauss_map.h src/gauss_map.cpp
|
|
|
|
include/aabb.h src/aabb.cpp
|
|
|
|
include/C2C4.h src/C2C4.cpp
|
|
|
|
include/Range.h src/Range.cpp
|
|
|
|
include/bvh.h src/bvh.cpp
|
|
|
|
include/utils.h src/utils.cpp
|
|
|
|
src/SingularityJudger.cpp include/SingularityJudger.h src/srf_mesh.cpp include/srf_mesh.h)
|
|
|
|
|
|
|
|
# 将intersectTest的内容拷贝到build文件夹下
|
|
|
|
# 参考https://stackoverflow.com/questions/13429656/how-to-copy-contents-of-a-directory-into-build-directory-after-make-with-cmake
|
|
|
|
add_custom_command(TARGET SingularityJudger PRE_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
|
|
${CMAKE_SOURCE_DIR}/intersectTest/ $<TARGET_FILE_DIR:SingularityJudger>/intersectTest)
|
|
|
|
|
|
|
|
target_link_libraries(SingularityJudger PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|