Skip to content
Merged
11 changes: 5 additions & 6 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
# Axom project
#------------------------------------------------------------------------------

if (ENABLE_CUDA)
cmake_minimum_required(VERSION 3.9)
if (ENABLE_HIP)
cmake_minimum_required(VERSION 3.21)
else()
cmake_minimum_required(VERSION 3.8.2)
cmake_minimum_required(VERSION 3.14)
endif()

project(axom LANGUAGES C CXX)
Expand All @@ -33,9 +33,8 @@ else()
if (NOT EXISTS ${BLT_SOURCE_DIR}/SetupBLT.cmake)
message(FATAL_ERROR
"Cannot locate BLT. "
"Either run the following two commands in your git repository: \n"
" git submodule init\n"
" git submodule update\n"
"Either run the following command in your git repository: \n"
" git submodule update --init --recursive\n"
"Or add -DBLT_SOURCE_DIR=/path/to/blt to your CMake command." )
endif()
endif()
Expand Down
18 changes: 14 additions & 4 deletions src/docs/sphinx/coding_guide/sec10_dev_macros.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Please see the `AXOMMacros.hpp` header file for other available macros and
usage examples.


.. _codemacros-conditional-label:

------------------------------------
Conditionally compiled code
------------------------------------
Expand All @@ -76,10 +78,18 @@ for a debug build **must** be guarded using the `AXOM_DEBUG` macro::
// rest of method implementation
}

The Axom build system provides various other macros for controlling
conditionally-compiled code. The macro constants will be defined based
on CMake options given when the code is configured. Please see the
`config.hpp` header file in the source include directory for a complete list.
Axom provides various other macro constants for conditionally-compiled code
which reflect which built-in and third-party libraries are being used and
which Axom components are enabled. The macro constants are defined in the
``config.hpp.in`` file in the top-level Axom source directory. Each of these
macro constants has the form ``AXOM_USE_<FOO>``, where ``FOO`` is the name of
an Axom library dependency or the name of an Axom component.

When CMake is run to configure an Axom build, the macro constants are set
based on CMake options and Axom dependencies and this file is converted to
the ``config.hpp`` header file in the Axom build space. The ``config.hpp``
header file is included in all Axom source and header files for consistent
application of the macro constants throughout the code.


------------------------------------
Expand Down
Loading