You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

55 lines
1.9 KiB

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/solid_octree_test)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/sdf_test)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/udf_test)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/search_assign_test)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/aabb_tree_test)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/2d_broken_test)
endif()
enable_testing()
if(Octree_BUILD_TEST)
add_test(NAME octree_test COMMAND $<TARGET_FILE:octree_test>)
add_test(NAME solid_octree_test COMMAND $<TARGET_FILE:solid_octree_test>)
add_test(NAME sdf_test COMMAND $<TARGET_FILE:sdf_test>)
add_test(NAME udf_test COMMAND $<TARGET_FILE:udf_test>)
add_test(NAME search_assign_test COMMAND $<TARGET_FILE:search_assign_test>)
add_test(NAME aabb_tree_test COMMAND $<TARGET_FILE:aabb_tree_test>)
add_test(NAME 2d_broken_test COMMAND $<TARGET_FILE:2d_broken_test>)
endif()