diff --git a/corelib/CMakeLists.txt b/corelib/CMakeLists.txt index b98113e71..2c3c54d48 100644 --- a/corelib/CMakeLists.txt +++ b/corelib/CMakeLists.txt @@ -370,10 +370,17 @@ else() CHECK_CXX_COMPILER_FLAG( "-std=c++17" SIRE_HAS_CPP_17 ) endif() +if ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" ) + CHECK_CXX_COMPILER_FLAG( "/std:c++20" SIRE_HAS_CPP_20 ) +else() + CHECK_CXX_COMPILER_FLAG( "-std=c++20" SIRE_HAS_CPP_20 ) +endif() + save_sire_variable( "SIRE_HAS_CPP_LIB" "${SIRE_HAS_CPP_LIB}" ) save_sire_variable( "SIRE_HAS_CPP_14" "${SIRE_HAS_CPP_14}" ) save_sire_variable( "SIRE_HAS_CPP_17" "${SIRE_HAS_CPP_17}" ) +save_sire_variable( "SIRE_HAS_CPP_20" "${SIRE_HAS_CPP_20}" ) option( SIRE_SKIP_LIBC++ "Force Sire to ignore libc++ (e.g. in case of broken clang on linux" OFF ) diff --git a/doc/source/changelog.rst b/doc/source/changelog.rst index 8e6602364..adf6e16e2 100644 --- a/doc/source/changelog.rst +++ b/doc/source/changelog.rst @@ -21,6 +21,8 @@ organisation on `GitHub `__. creating a molecule from a ``SOMD`` perturbation file. * Fix evaluation of custom force energies from OpenMM XML files by correctly looping over interaction groups. +* Switch to new Boost Conda package naming scheme for host requirements. +* Use C++20 standard for SireRDKit plugin. `2025.1.0 `__ - June 2025 ----------------------------------------------------------------------------------------- diff --git a/recipes/sire/conda_build_config.yaml b/recipes/sire/conda_build_config.yaml index e8bc0c8bf..4a15698f7 100644 --- a/recipes/sire/conda_build_config.yaml +++ b/recipes/sire/conda_build_config.yaml @@ -15,7 +15,5 @@ cxx_compiler_version: - 12.3.0 # [linux] pin_run_as_build: - boost: - max_pin: x.x openmm: max_pin: x.x diff --git a/requirements_bss.txt b/requirements_bss.txt index 33ae86a9f..744b98944 100644 --- a/requirements_bss.txt +++ b/requirements_bss.txt @@ -15,10 +15,6 @@ openmmtools >= 0.21.5 ambertools >= 22 ; sys_platform != "win32" gromacs ; sys_platform != "win32" and platform_machine != "arm64" -# kartograf on Windows pulls in an openfe that has an old / incompatble -# ambertools -kartograf >= 1.0.0 ; sys_platform != "win32" - # The following are actual BioSimSpace run-time requirements. Please update # this list as new requirements are added. configargparse diff --git a/requirements_host.txt b/requirements_host.txt index b8865b79f..ef32ada64 100644 --- a/requirements_host.txt +++ b/requirements_host.txt @@ -1,11 +1,12 @@ # Host requirements for Sire. -boost gsl lazy_import +libboost-devel +libboost-python-devel libcblas libnetcdf -librdkit-dev +librdkit-dev > 2024.09.6 openmm >= 8.1 pandas python diff --git a/requirements_run.txt b/requirements_run.txt index 802a78db6..5a9028975 100644 --- a/requirements_run.txt +++ b/requirements_run.txt @@ -1,6 +1,5 @@ # Runtime requirements for Sire. -boost gsl lazy_import libnetcdf diff --git a/wrapper/Convert/SireRDKit/CMakeLists.txt b/wrapper/Convert/SireRDKit/CMakeLists.txt index 0c4237949..3cc15d9e9 100644 --- a/wrapper/Convert/SireRDKit/CMakeLists.txt +++ b/wrapper/Convert/SireRDKit/CMakeLists.txt @@ -4,7 +4,7 @@ # ########################################## -if (SIRE_HAS_CPP_17) +if (SIRE_HAS_CPP_20) # Find RDKit libraries find_package(RDKit) @@ -24,8 +24,12 @@ if (SIRE_HAS_CPP_17) # RDKit needs this definition set on Windows add_definitions(-DWIN32) add_definitions(-DRDKIT_DYN_LINK) + add_compile_options("/std:c++20") + else() + add_compile_options(-std=c++20) endif() + if (APPLE) # RDKit uses std::bad_any_cast, which isn't available by default # with MacOS 10.9. But it is supplied with conda, so need to mark