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.
43 lines
1.4 KiB
43 lines
1.4 KiB
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(NurbsIntersection LANGUAGES CXX)
|
|
|
|
# C++ 11 is required
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
|
|
# Libigl
|
|
include(libigl)
|
|
|
|
# Enable the target igl::glfw
|
|
igl_include(glfw)
|
|
|
|
|
|
# add include directories
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)
|
|
|
|
# add source files
|
|
file(GLOB_RECURSE SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
|
# add header files
|
|
file(GLOB_RECURSE HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
|
|
|
|
file(GLOB_RECURSE THRDPARTY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/*)
|
|
|
|
|
|
#used for IDE, eg.Visual Studio
|
|
source_group("Header Files" FILES ${HEADER_FILES})
|
|
source_group("3rdparty" FILES ${THRDPARTY_FILES})
|
|
|
|
add_library(${PROJECT_NAME} ${SRC_FILES} ${HEADER_FILES} ${THRDPARTY_FILES} )
|
|
add_library(NurbsIntersection::nurbsintersect ALIAS ${PROJECT_NAME})
|
|
|
|
#link libraries
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC igl::glfw)
|
|
|
|
#add subdirectories
|
|
# add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/example1_show_bvh_curve)
|
|
# add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/example2_show_bvh_surface)
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/example3_curve_curve_intersection)
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/example4_curve_surface_intersection)
|
|
|