Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make Release mode the default build type so users automatically get the fastest configuration #422

Merged
merged 24 commits into from
Feb 28, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
fd0448e
make Release mode the default build type so users automatically get t…
balos1 Feb 15, 2024
73b0bc4
Apply suggestions from code review
balos1 Feb 15, 2024
c8e7415
Merge branch 'develop' into feature/default-to-release-build
gardner48 Feb 22, 2024
7cf3b9f
update recent changes
balos1 Feb 22, 2024
ecbe53c
Merge remote-tracking branch 'origin/feature/default-to-release-build…
balos1 Feb 22, 2024
6f6da5d
remove obsolete xsdk defaults setting for build type
balos1 Feb 22, 2024
a369cde
Update CHANGELOG.md
balos1 Feb 22, 2024
39e6f9a
fix uninitialized variable warning
balos1 Feb 22, 2024
d84eb01
address Steven's feedback about SUNContext_PushErrHandler function do…
balos1 Feb 22, 2024
04e0e64
further doc improvements to error handler section
balos1 Feb 22, 2024
0dcc4ed
Merge remote-tracking branch 'origin/feature/default-to-release-build…
balos1 Feb 22, 2024
b0fc181
fix uninitialized value error
balos1 Feb 22, 2024
797eedb
fix uninitialized error
balos1 Feb 26, 2024
cec5790
fix uninitialized error
gardner48 Feb 27, 2024
eff86e6
Merge branch 'develop' into feature/default-to-release-build
gardner48 Feb 27, 2024
dc16ab8
Merge branch 'develop' into feature/default-to-release-build
gardner48 Feb 27, 2024
0954046
fix compiler warnings
gardner48 Feb 27, 2024
7b25aa6
move SUNHint, SUNAssume macros to priv header
gardner48 Feb 27, 2024
b322d86
Merge remote-tracking branch 'origin/maintenance/relocate-private-mac…
balos1 Feb 27, 2024
0452080
dont expand SUNAssert to SUNAssume since it seems to cause some unexp…
balos1 Feb 27, 2024
d566c12
debug build on jenkins
balos1 Feb 28, 2024
6c44647
update default in config_cmake.py
gardner48 Feb 28, 2024
8503bea
Merge branch 'develop' into feature/default-to-release-build
gardner48 Feb 28, 2024
e9f10fd
Merge branch 'develop' into feature/default-to-release-build
gardner48 Feb 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,11 @@ Fixed [#329](https://github.com/LLNL/sundials/issues/329) so that C++20 aggregat

Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
[#409](https://github.com/LLNL/sundials/issues/409) and
[#249](https://github.com/LLNL/sundials/issues/249)
[#249](https://github.com/LLNL/sundials/issues/249).

The `CMAKE_BUILD_TYPE` defaults to `Release` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was
unset by default so no optimization or debug flags were set.
gardner48 marked this conversation as resolved.
Show resolved Hide resolved

## Changes to SUNDIALS in release 6.7.0

Expand Down
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,16 @@ set(_SHARED_LIB_SUFFIX
set(_SUNDIALS_ALIAS_TARGETS ""
CACHE INTERNAL "" FORCE)

# We default to release builds
balos1 marked this conversation as resolved.
Show resolved Hide resolved
set(_DEFAULT_CMAKE_BUILD_TYPE RelWithDebInfo)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Building SUNDIALS in '${_DEFAULT_CMAKE_BUILD_TYPE}' mode as CMAKE_BUILD_TYPE was not specified.")
set(CMAKE_BUILD_TYPE "${_DEFAULT_CMAKE_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
else()
message(STATUS "Building SUNDIALS in '${CMAKE_BUILD_TYPE}' mode.")
endif()
gardner48 marked this conversation as resolved.
Show resolved Hide resolved

# ===============================================================
# Build options to be processed first
# ===============================================================
Expand Down
4 changes: 4 additions & 0 deletions doc/arkode/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v5.7.0
-----------------

Expand Down
4 changes: 4 additions & 0 deletions doc/cvode/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v6.7.0
-----------------

Expand Down
4 changes: 4 additions & 0 deletions doc/cvodes/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v6.7.0
-----------------

Expand Down
4 changes: 4 additions & 0 deletions doc/ida/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v6.7.0
-----------------

Expand Down
4 changes: 4 additions & 0 deletions doc/idas/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v5.7.0
-----------------

Expand Down
4 changes: 4 additions & 0 deletions doc/kinsol/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,10 @@ Fixed integer overflow in the internal SUNDIALS hashmap. This resolves
`GitHub Issues #409 <https://github.com/LLNL/sundials/issues/409>`_ and
`#249 <https://github.com/LLNL/sundials/issues/249>`_.

The ``CMAKE_BUILD_TYPE`` defaults to ``Release`` mode now i.e., SUNDIALS will be
built with optimizations enabled by default. Previously the build type was unset
by default so no optimization or debug flags were set.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

Changes in v6.7.0
-----------------

Expand Down
18 changes: 9 additions & 9 deletions doc/shared/sundials/Install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ source. One option is to use the `Spack HPC package manager <https://spack.io/>`
The second supported option for building and installing SUNDIALS is with CMake.
Before proceeding with CMake, the source code must be downloaded. This can be done
by cloning the `SUNDIALS GitHub repository <https://github.com/LLNL/sundials>`_
(run ``git clone https://github.com/LLNL/sundials``), or by downloading the
SUNDIALS release compressed archives (``.tar.gz``) from the SUNDIALS
(run ``git clone https://github.com/LLNL/sundials``), or by downloading the
SUNDIALS release compressed archives (``.tar.gz``) from the SUNDIALS
`website <https://computing.llnl.gov/projects/sundials/sundials-software>`_.

The compressed archives allow for downloading of indvidual SUNDIALS packages.
The name of the distribution archive is of the form
``SOLVER-X.Y.Z.tar.gz``, where ``SOLVER`` is one of: ``sundials``, ``cvode``,
``cvodes``, ``arkode``, ``ida``, ``idas``, or ``kinsol``, and ``X.Y.Z``
represents the version number (of the SUNDIALS suite or of the individual
solver). After downloading the relevant archives, uncompress and expand the sources,
solver). After downloading the relevant archives, uncompress and expand the sources,
by running

.. code-block:: bash
Expand Down Expand Up @@ -353,9 +353,9 @@ illustration only.
.. cmakeoption:: CMAKE_BUILD_TYPE

Choose the type of build, options are:
``None``, ``Debug``, ``Release``, ``RelWithDebInfo``, and ``MinSizeRel``
``Debug``, ``Release``, ``RelWithDebInfo``, and ``MinSizeRel``

Default:
Default: ``RelWithDebInfo``

.. note::

Expand Down Expand Up @@ -630,8 +630,8 @@ illustration only.

.. cmakeoption:: SUNDIALS_ENABLE_ERROR_CHECKS

Build SUNDIALS with more extensive checks for unrecoverable errors.
Build SUNDIALS with more extensive checks for unrecoverable errors.

Default: ``OFF`` when ``CMAKE_BUILD_TYPE=Release|RelWithDebInfo `` and ``ON`` otherwise.

.. warning::
Expand Down Expand Up @@ -1048,7 +1048,7 @@ illustration only.
Default: None

.. cmakeoption:: ENABLE_ADIAK

Enable Adiak support

Default: OFF
Expand Down Expand Up @@ -1675,7 +1675,7 @@ header files.
SUNDIALS installs some header files to ``INSTDIR/include/sundials/priv``.
All of the header files in this directory are private and **should not
be included in user code**. The private headers are subject to change
without any notice and relying on them may break your code.
without any notice and relying on them may break your code.


Using SUNDIALS in your prpject
Expand Down
Loading