# Note: All further explained options can be either set via ccmake or at
# the promp via:
#
-# $ cmake -D<OPTION>=<VALUE> [...] path/to/source/tree
+# $ cmake -D<OPTION>=<VALUE> [...] path/to/source/tree
#
#
# The first bunch of options of type DEAL_II_WITH_<feature> are for
# CMAKE_CXX_FLAGS_RELEASE - additional flags used during release builds
# (same for CMAKE_C_...)
#
-# The content of the cached variables will be preserved and added
-# *_TO THE END_* of the default compiler flags, hence giving a possibility
-# for overwriting a flag. E.g.: -Wsign-compare, set by the build system,
-# can be overwritten by specifying:
+# The content of the cached variables will be preserved and added
+# *_TO THE END_* of the default compiler flags, hence giving a possibility
+# for overwriting a flag. E.g.: -Wsign-compare, set by the build system,
+# can be overwritten by specifying:
#
-# $ cmake -DCMAKE_CXX_FLAGS="-Wno-sign-compare" <...>
+# $ cmake -DCMAKE_CXX_FLAGS="-Wno-sign-compare" <...>
#
#
+# Build optoins: TODO
+#
+# - BUILD_SHARED_LIBS and DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS
+#
+# Installation: TODO
+#
+# - Explain Components and Options...
+# - Explain how to build and install only a specific component:
+#
+# $ cmake -DCOMPONENT=<component> -P build/cmake_install.cmake
+#
# is a choice, e.g. from contrib vs external)
#
+# TODO: Some of the description strings span over multiple lines. Fix
+# this somehow.
+
OPTION(DEAL_II_FEATURE_AUTODETECTION
"Enables feature autodetection. This will automatically overwrite all
DEAL_II_WITH_<...> toggles depending on whether they can be supported or
"Build deal.II with support for BLAS."
OFF)
+OPTION(DEAL_II_WITH_DOXYGEN
+ "Enable the generation and installation of the documentation via doxygen.
+ This feature adds a COMPONENT \"documentation\" to the build system."
+ ON)
+
OPTION(DEAL_II_WITH_FUNCTIONPARSER
"Build deal.II with support for functionparser."
OFF)
ON)
#
-# Build configuration: Configuration options regarding compilation and
+# Build configuration: configuration options regarding compilation and
# installation of the deal.II library
#
compiler flag setup."
ON)
+OPTION(DEAL_II_INSTALL_EXAMPLES
+ "Enable the installation of the example steps.
+ This feature adds a COMPONENT \"examples\" to the build system."
+ ON)
+
+OPTION(DEAL_II_INSTALL_COMPATIBILITY_FILES
+ "Enable the installation of the example steps.
+ This feature adds a COMPONENT \"compatibility_files\" to the build system."
+ ON)
+
###########################################################################
# #
-#
-# Generate the documentation via doxygen:
-#
+IF(DEAL_II_WITH_DOXYGEN)
+ #
+ # Generate the documentation via doxygen:
+ #
+ # TODO
-# TODO
+ENDIF(DEAL_II_WITH_DOXYGEN)
-#
-# Add a rule on how to install the examples:
-#
-SET(deal_ii_examples
- step-1
- step-2
- step-3
- step-4
- step-5
- step-6
- step-7
- step-8
- step-9
- step-10
- step-11
- step-12
- step-13
- step-14
- step-15
- step-16
- step-17
- step-18
- step-19
- step-20
- step-21
- step-22
- step-23
- step-24
- step-25
- step-26
- step-27
- step-28
- step-29
- step-30
- step-31
- step-32
- step-33
- step-34
- step-35
- step-36
- step-37
- step-38
- step-39
- step-40
- step-41
- step-42
- step-43
- step-44
- step-45
- step-46
- step-47
- step-48
- )
+IF(DEAL_II_INSTALL_EXAMPLES)
+ #
+ # Add a rule on how to install the examples:
+ #
-FOREACH(step ${deal_ii_examples})
- INSTALL(DIRECTORY ${step}
- DESTINATION usr/share/doc/deal.II/examples
- COMPONENT examples
- PATTERN "doc" EXCLUDE
+ SET(deal_ii_examples
+ step-1 step-2 step-3 step-4 step-5 step-6 step-7 step-8 step-9
+ step-10 step-11 step-12 step-13 step-14 step-15 step-16 step-17
+ step-18 step-19 step-20 step-21 step-22 step-23 step-24 step-25
+ step-26 step-27 step-28 step-29 step-30 step-31 step-32 step-33
+ step-34 step-35 step-36 step-37 step-38 step-39 step-40 step-41
+ step-42 step-43 step-44 step-45 step-46 step-47 step-48
)
-ENDFOREACH()
+
+ FOREACH(step ${deal_ii_examples})
+ INSTALL(DIRECTORY ${step}
+ DESTINATION usr/share/doc/deal.II/examples
+ COMPONENT examples
+ PATTERN "doc" EXCLUDE
+ )
+ ENDFOREACH()
+
+ENDIF()