forked from polyfem/polysolve
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPolySolveOptions.cmake.sample
67 lines (54 loc) · 3.9 KB
/
PolySolveOptions.cmake.sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# In order to persistently set default options for your project, copy this file
# and remove the '.sample' suffix. Then uncomment the relevant options for your
# project. Note that this file is included before `project(PolySolve)` 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.
################################################################################
# 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/local/opt/llvm/bin/clang" CACHE STRING "C compiler")
# set(CMAKE_CXX_COMPILER "/usr/local/opt/llvm/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)
# list(APPEND CMAKE_CXX_FLAGS -fdiagnostics-color=always) # GCC
# list(APPEND CMAKE_CXX_FLAGS -fcolor-diagnostics) # Clang
################################################################################
# PolySolve Options
################################################################################
# Polysolve options for enabling/disabling optional libraries
# option(POLYSOLVE_WITH_CHOLMOD "Enable Cholmod library" ON)
# option(POLYSOLVE_WITH_UMFPACK "Enable UmfPack library" ON)
# option(POLYSOLVE_WITH_SUPERLU "Enable SuperLU library" ON)
# option(POLYSOLVE_WITH_MKL "Enable MKL library" ON)
# option(POLYSOLVE_WITH_PARDISO "Enable Pardiso library" OFF)
# option(POLYSOLVE_WITH_HYPRE "Enable hypre" ON)
# option(POLYSOLVE_WITH_AMGCL "Use AMGCL" ON)
# option(POLYSOLVE_WITH_SPECTRA "Enable computing spectrum" ON)
# Options for third-party libraries
# option(EIGEN_WITH_MKL "Use Eigen with MKL" ON)
# set(MKL_INTERFACE "lp64" CACHE STRING "Interface layer to use with MKL (lp64 or ilp64)")
# set(MKL_LINKING "static" CACHE STRING "Linking strategy to use with MKL (static, dynamic or sdl)")
# set(MKL_THREADING "tbb" CACHE STRING "Threading layer to use with MKL (sequential, tbb or openmp)")
################################################################################
# FetchContent Options
################################################################################
# option(FETCHCONTENT_FULLY_DISCONNECTED "Disables all attempts to download or update content and assumes source dirs already exist")
# option(FETCHCONTENT_UPDATES_DISCONNECTED "Enables UPDATE_DISCONNECTED behavior for all content population")
# option(FETCHCONTENT_QUIET "Enables QUIET option for all content population" ON)
# set(FETCHCONTENT_BASE_DIR "${CMAKE_BINARY_DIR}/_deps" CACHE PATH "Directory under which to collect all populated content")
################################################################################
# Development Locations for Third Party Libraries
################################################################################