48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(asitus_probe LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(REPO_ROOT "${CMAKE_CURRENT_LIST_DIR}/../..")
|
|
set(ASITUS_ROOT "${REPO_ROOT}/third_party/AnalysisSitus")
|
|
set(ASITUS_BUILD "${REPO_ROOT}/third_party/AnalysisSitus_build_algo_occt77")
|
|
set(THIRD_PARTY_ROOT "${REPO_ROOT}/third_party/3rdparty")
|
|
set(OCCT_ROOT "${THIRD_PARTY_ROOT}/OCCT")
|
|
|
|
file(GLOB_RECURSE ASITUS_PUBLIC_HEADERS CONFIGURE_DEPENDS
|
|
"${ASITUS_ROOT}/src/asiAlgo/*.h"
|
|
"${ASITUS_ROOT}/src/asiAlgo/*.hpp"
|
|
"${ASITUS_ROOT}/src/asiActiveData/*.h"
|
|
"${ASITUS_ROOT}/src/asiActiveData/*.hpp"
|
|
)
|
|
|
|
set(ASITUS_INCLUDE_DIRS)
|
|
foreach(header ${ASITUS_PUBLIC_HEADERS})
|
|
get_filename_component(header_dir "${header}" DIRECTORY)
|
|
list(APPEND ASITUS_INCLUDE_DIRS "${header_dir}")
|
|
endforeach()
|
|
list(REMOVE_DUPLICATES ASITUS_INCLUDE_DIRS)
|
|
|
|
file(GLOB OCCT_LIBS CONFIGURE_DEPENDS "${OCCT_ROOT}/win64/vc14/lib/*.lib")
|
|
|
|
add_executable(recognize_holes recognize_holes.cpp)
|
|
|
|
target_include_directories(recognize_holes PRIVATE
|
|
${ASITUS_INCLUDE_DIRS}
|
|
"${OCCT_ROOT}/inc"
|
|
"${THIRD_PARTY_ROOT}/eigen-3.4.0"
|
|
"${THIRD_PARTY_ROOT}/rapidjson-1.1.0/include"
|
|
)
|
|
|
|
target_link_directories(recognize_holes PRIVATE
|
|
"${ASITUS_BUILD}/win64/vc14/lib"
|
|
"${OCCT_ROOT}/win64/vc14/lib"
|
|
)
|
|
|
|
target_link_libraries(recognize_holes PRIVATE
|
|
asiAlgo
|
|
asiActiveData
|
|
${OCCT_LIBS}
|
|
)
|