# examples/CMakeLists.txt # # Example programs for conformallab++. # All examples require -DWITH_CGAL=ON. # example_viewer additionally requires -DWITH_VIEWER=ON. # # Run after building: # ./build/examples/example_euclidean [input.off] [output.off] # ./build/examples/example_hyper_ideal [input.off] [output.off] # ./build/examples/example_viewer [input.off] (requires WITH_VIEWER) # ── Shared include paths for all examples ───────────────────────────────────── set(EXAMPLE_INCLUDES ${CMAKE_SOURCE_DIR}/deps/eigen-3.4.0 ${CMAKE_SOURCE_DIR}/deps/CGAL-6.1.1/include ${Boost_INCLUDE_DIRS} ) set(EXAMPLE_PRIVATE_INCLUDES ${CMAKE_SOURCE_DIR}/include ) set(EXAMPLE_DEFS CGAL_DISABLE_GMP CGAL_DISABLE_MPFR ) # ── example_euclidean ───────────────────────────────────────────────────────── add_executable(example_euclidean example_euclidean.cpp) target_include_directories(example_euclidean SYSTEM PRIVATE ${EXAMPLE_INCLUDES}) target_include_directories(example_euclidean PRIVATE ${EXAMPLE_PRIVATE_INCLUDES}) target_compile_definitions(example_euclidean PRIVATE ${EXAMPLE_DEFS}) # ── example_hyper_ideal ─────────────────────────────────────────────────────── add_executable(example_hyper_ideal example_hyper_ideal.cpp) target_include_directories(example_hyper_ideal SYSTEM PRIVATE ${EXAMPLE_INCLUDES}) target_include_directories(example_hyper_ideal PRIVATE ${EXAMPLE_PRIVATE_INCLUDES}) target_compile_definitions(example_hyper_ideal PRIVATE ${EXAMPLE_DEFS}) # ── example_viewer (requires WITH_VIEWER) ───────────────────────────────────── if(WITH_VIEWER) add_executable(example_viewer example_viewer.cpp) target_include_directories(example_viewer SYSTEM PRIVATE ${EXAMPLE_INCLUDES} ${CMAKE_SOURCE_DIR}/deps/libigl-2.6.0/include ${CMAKE_SOURCE_DIR}/deps/libigl-glad/include ) target_include_directories(example_viewer PRIVATE ${EXAMPLE_PRIVATE_INCLUDES}) target_compile_definitions(example_viewer PRIVATE ${EXAMPLE_DEFS}) target_link_libraries(example_viewer PRIVATE viewer) endif()