|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(ParasolidDemo LANGUAGES CXX C)
|
|
|
|
|
|
|
|
SET(CMAKE_CXX_STANDARD 14)
|
|
|
|
|
|
|
|
SET(PARASOLID "/mnt/d/download/parasolid/Parasolid_Installer_v350_rv1000/parasolid/intel_linux/base")
|
|
|
|
|
|
|
|
SET(SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
|
|
|
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/config/config.hpp.in" "${CMAKE_SOURCE_DIR}/config/config.hpp")
|
|
|
|
|
|
|
|
# Release
|
|
|
|
# set(CMAKE_BUILD_TYPE "Release")
|
|
|
|
# if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
|
|
|
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
|
|
|
# # 或者使用以下语句来开启C++11标准(如果你的项目需要)
|
|
|
|
# # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++11")
|
|
|
|
# endif()
|
|
|
|
|
|
|
|
|
|
|
|
# 编译选项
|
|
|
|
# SET(CMAKE_CXX_FLAGS -DBOOST_NO_CXX11_SCOPED_ENUMS -lboost_filesystem)
|
|
|
|
# add_compile_options( -DBOOST_NO_CXX11_SCOPED_ENUMS -lboost_filesystem)
|
|
|
|
add_compile_options(-lboost_system)
|
|
|
|
|
|
|
|
# 链接选项
|
|
|
|
# 来自parasolid_link.com
|
|
|
|
SET(LINK_FLAGS "-lm -pthread")
|
|
|
|
SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS}")
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${LINK_FLAGS}")
|
|
|
|
|
|
|
|
find_package(Boost 1.71.0 COMPONENTS regex system filesystem REQUIRED)
|
|
|
|
IF (Boost_FOUND)
|
|
|
|
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
|
|
|
|
link_directories(ParasolidDemo ${Boost_LIBRARY_DIRS})
|
|
|
|
ADD_DEFINITIONS( "-DHAS_BOOST" )
|
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
#find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
|
|
|
|
#find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
|
|
|
|
|
|
|
include_directories(${PARASOLID})
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR})
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/config)
|
|
|
|
|
|
|
|
add_executable(ParasolidDemo evaluation_test.cpp case_reader.cpp case_reader.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 ParasolidDemo PRE_BUILD
|
|
|
|
# COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
|
|
# ${CMAKE_SOURCE_DIR}/intersectCases/ $<TARGET_FILE_DIR:ParasolidDemo>/intersectCases)
|
|
|
|
|
|
|
|
target_link_libraries(ParasolidDemo PUBLIC "${PARASOLID}/frustrum.lib")
|
|
|
|
target_link_libraries(ParasolidDemo PUBLIC "${PARASOLID}/fg.lib")
|
|
|
|
target_link_libraries(ParasolidDemo PUBLIC "${PARASOLID}/pskernel_archive.lib")
|
|
|
|
target_link_libraries(ParasolidDemo PRIVATE "${Boost_LIBRARIES}")
|
|
|
|
#target_link_libraries(ParasolidDemo PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|