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} )