Let installed library options default to BUILD_SHARED_LIBS.
authorM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 21 May 2021 15:02:15 +0000 (10:02 -0500)
committerJoe Jordan <ejjordan12@gmail.com>
Mon, 24 May 2021 07:57:03 +0000 (07:57 +0000)
Fixes #4053

api/CMakeLists.txt
docs/release-notes/2022/major/portability.rst

index 5773bbf265b33edb3aa49d78ff5f83392866b45c..fdf3a2a5956fba13012ad67680db7a5ada2fe633 100644 (file)
@@ -42,7 +42,7 @@ if(GMX_NATIVE_WINDOWS)
     # GMXAPI requires position-independent code
     set(_GMXAPI_DEFAULT OFF)
 else()
-    set(_GMXAPI_DEFAULT ON)
+    set(_GMXAPI_DEFAULT ${BUILD_SHARED_LIBS})
 endif()
 option(GMXAPI "Install GROMACS API." ${_GMXAPI_DEFAULT})
 if (GMXAPI)
@@ -55,7 +55,7 @@ if(GMX_NATIVE_WINDOWS OR NOT BUILD_SHARED_LIBS)
     # NBLIB requires position-independent code
     set(_NBLIB_DEFAULT OFF)
 else()
-    set(_NBLIB_DEFAULT ON)
+    set(_NBLIB_DEFAULT ${BUILD_SHARED_LIBS})
 endif()
 option(GMX_INSTALL_NBLIB_API "Install nblib headers" ${_NBLIB_DEFAULT})
 if (GMX_INSTALL_NBLIB_API)
index 75c4b4865e1eb4ef908f6c61e495bc603ee6c36d..c0f42657511c7089eb74a798dba85d1a83869707 100644 (file)
@@ -8,3 +8,14 @@ We now support the Intel clang-based compiler from oneAPI (icx/icpx)
 instead. Please use it, or gcc.
 
 :issue:`3893`
+
+Provisional: Initialize GMX_INSTALL_NBLIB_API and GMXAPI build options from BUILD_SHARED_LIBS
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+CMake options ``GMXAPI`` and ``GMX_INSTALL_NBLIB_API`` produce shared object libraries,
+so their default values are now initialized from ``BUILD_SHARED_LIBS``.
+Pending movement on :issue:`3605` and related issues, the coupling between these
+options is subject to change, but users generally should not need to manually set
+``GMXAPI`` and ``GMX_INSTALL_NBLIB_API``.
+
+:issue:`4053`