cmake_minimum_required(VERSION 3.20) project(Octree) set(CMAKE_CXX_STANDARD 17) option(Octree_BUILD_TEST "Build test projects" ON) include_directories( /usr/local/include ${PROJECT_SOURCE_DIR}/include ) link_directories(/usr/local/lib) find_package(LIBIGL REQUIRED QUIET) find_package(Boost COMPONENTS filesystem log REQUIRED) find_package(Eigen3 3.3 REQUIRED NO_MODULE) file(GLOB_RECURSE headers ${CMAKE_CURRENT_SOURCE_DIR}/include/Octree/*.h ) file(GLOB_RECURSE sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h) add_library(Octree SHARED ${headers} ${sources}) target_link_libraries(Octree igl::core ${Boost_LIBRARIES} Eigen3::Eigen pMesh) target_include_directories(Octree PUBLIC ${PROJECT_SOURCE_DIR}/include) # --------------------- TEST -------------------- if(Octree_BUILD_TEST) set(TEST_DATA_BASE_PATH ${PROJECT_SOURCE_DIR}/data) endif() if(Octree_BUILD_TEST) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/octree_test) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/sdf_test) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/udf_test) endif() enable_testing() if(Octree_BUILD_TEST) add_test(NAME octree_test COMMAND $) add_test(NAME sdf_test COMMAND $) add_test(NAME udf_test COMMAND $) endif()