@@ -47,18 +47,41 @@ endif()
4747# Build options
4848option (ENABLE_NBODY "Enable EXP n-body" ON )
4949option (ENABLE_PYEXP "Enable the Python bindings" ON )
50+ option (ENABLE_PYEXP_ONLY "Python bindings and support libraries only" OFF )
51+ option (ENABLE_UTILS "Enable build of the EXP standalone utilities" OFF )
5052option (ENABLE_PNG "Enable PNG graphics support" FALSE )
5153option (ENABLE_CUDA "Enable CUDA" FALSE )
5254option (ENABLE_SLURM "Enable SLURM checkpointing support" FALSE )
5355option (ENABLE_XDR "Enable RPC/XDR support for Tipsy standard" FALSE )
5456option (ENABLE_VTK "Configure VTK if available" FALSE )
5557option (ENABLE_CUDA_SINGLE "Use real*4 instead of real*8 for CUDA" FALSE )
56- option (ENABLE_USER "Enable basic user modules" ON )
58+ option (ENABLE_USER "Enable compilation of user modules" ON )
5759option (ENABLE_SLCHECK "Enable *careful* Sturm-Liouville solutions" TRUE )
5860option (ENABLE_TESTS "Enable build tests for EXP, pyEXP and helpers" ON )
61+ option (ENABLE_MINIMAL "Compile EXP support libraries only" OFF )
5962option (BUILD_SHARED_LIBS "Build using shared libraries" ON )
6063option (BUILD_DOCS "Build documentation" OFF )
6164
65+ # Metaflag for minimal build
66+
67+ if (ENABLE_MINIMAL)
68+ set (ENABLE_NBODY OFF )
69+ set (ENABLE_PYEXP OFF )
70+ set (ENABLE_USER OFF )
71+ set (ENABLE_UTILS OFF )
72+ set (ENABLE_TESTS OFF )
73+ endif ()
74+
75+ # Metaflag for pyEXP only
76+
77+ if (ENABLE_PYEXP_ONLY)
78+ set (ENABLE_NBODY OFF )
79+ set (ENABLE_PYEXP ON )
80+ set (ENABLE_USER OFF )
81+ set (ENABLE_UTILS OFF )
82+ set (ENABLE_TESTS OFF )
83+ endif ()
84+
6285# Set mpirun launcher for CTest
6386
6487set (EXP_MPI_LAUNCH "mpirun" CACHE STRING "Command to run an MPI application (for unit tests only)" )
@@ -253,12 +276,15 @@ add_subdirectory(expui)
253276if (ENABLE_NBODY)
254277 add_subdirectory (src )
255278endif ()
256- add_subdirectory (utils )
279+ if (ENABLE_UTILS)
280+ add_subdirectory (utils )
281+ endif ()
257282if (ENABLE_PYEXP)
258283 add_subdirectory (pyEXP )
259284endif ()
260-
261- add_subdirectory (extern/user-modules )
285+ if (ENABLE_USER)
286+ add_subdirectory (extern/user-modules )
287+ endif ()
262288
263289# Build the tests; set ENABLE_TEST=OFF to disable
264290if (ENABLE_TESTS)
0 commit comments