# If you are cloning and compiling the libigl repository as a standalone, you # can use this file as a convenience to set default CMake options. Simply copy # this file and remove the '.sample' suffix. Then, uncomment the relevant # options as desired. Note that this file is included before `project(Libigl)` # is defined, so we can use it to define the C and C++ compilers, but some # variables such as PROJECT_SOURCE_DIR will not be defined yet. You can use # CMAKE_SOURCE_DIR instead. # # If you are using libigl as a subproject (e.g. see the libigl-example-project # template), then you do NOT need to use this file. Simply set your preferred # CMake options in the parent project, # before including libigl. ################################################################################ # CMake Options ################################################################################ # Specify a custom install prefix path # set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install CACHE STRING "Install directory used by install().") # Generates a `compile_commands.json` that can be used for autocompletion # set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable/Disable output of compile commands during generation.") # Use ccache to speed up compilation of repeated builds # find_program(CCACHE_PROGRAM ccache) # if(CCACHE_PROGRAM) # message(STATUS "Enabling Ccache support") # set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE STRING "") # set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE STRING "") # endif() # Use a specific C/C++ compiler, e.g. llvm-clang on macOS (so we can use clangd) # set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE STRING "C compiler") # set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE STRING "C++ compiler") # Set deployment platform for macOS # set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12 CACHE STRING "macOS deployment target") # Always add colored output (e.g. when using Ninja) # add_compile_options(-fdiagnostics-color=always) # GCC # add_compile_options(-fcolor-diagnostics) # Clang # add_compile_options(-ftime-trace) # Clang ################################################################################ # Libigl Options ################################################################################ # Build options # option(LIBIGL_BUILD_TESTS "Build libigl unit test" OFF) # option(LIBIGL_BUILD_TUTORIALS "Build libigl tutorial" OFF) # option(LIBIGL_INSTALL "Enable installation of libigl targets" OFF) # option(LIBIGL_USE_STATIC_LIBRARY "Use libigl as static library" OFF) # Module options # option(LIBIGL_EMBREE "Build target igl::embree" ON) # option(LIBIGL_GLFW "Build target igl::glfw" ON) # option(LIBIGL_IMGUI "Build target igl::imgui" ON) # option(LIBIGL_OPENGL "Build target igl::opengl" ON) # option(LIBIGL_STB "Build target igl::stb" ON) # option(LIBIGL_PREDICATES "Build target igl::predicates" ON) # option(LIBIGL_XML "Build target igl::xml" ON) # option(LIBIGL_COPYLEFT_CGAL "Build target igl_copyleft::cgal" ON) # option(LIBIGL_COPYLEFT_COMISO "Build target igl_copyleft::comiso" ON) # option(LIBIGL_COPYLEFT_CORE "Build target igl_copyleft::core" ON) # option(LIBIGL_COPYLEFT_CORK "Build target igl_copyleft::cork" ON) # option(LIBIGL_COPYLEFT_TETGEN "Build target igl_copyleft::tetgen" ON) # option(LIBIGL_RESTRICTED_MATLAB "Build target igl_restricted::matlab" ON) # option(LIBIGL_RESTRICTED_MOSEK "Build target igl_restricted::mosek" ON) # option(LIBIGL_RESTRICTED_TRIANGLE "Build target igl_restricted::triangle" ON) ################################################################################ # FetchContent Options ################################################################################ # option(FETCHCONTENT_FULLY_DISCONNECTED "Disables all attempts to download or update content and assumes source dirs already exist" ON) # option(FETCHCONTENT_UPDATES_DISCONNECTED "Enables UPDATE_DISCONNECTED behavior for all content population" ON) # option(FETCHCONTENT_QUIET "Enables QUIET option for all content population" ON) # set(FETCHCONTENT_BASE_DIR "${CMAKE_SOURCE_DIR}/external" CACHE PATH "Directory under which to collect all populated content")