# To help us fund GROMACS development, we humbly ask that you cite
# the research papers on the package. Check out http://www.gromacs.org.
-cmake_minimum_required(VERSION 3.13)
+cmake_minimum_required(VERSION 3.16.3)
cmake_policy(SET CMP0074 NEW) # From CMake 3.12
cmake_policy(SET CMP0068 NEW) # From CMake-3.9
# WARNING: Please keep this list synchronized with python_packaging/requirements-test.txt
# TODO: Get requirements.txt from an input argument.
commands.append(f"""{venv_path}/bin/python -m pip install --upgrade \
- 'cmake>=3.13' \
+ 'cmake>=3.16.3' \
'flake8>=3.7.7' \
'gcovr>=4.2' \
'mpi4py>=3.0.3' \
Instead, inherit from it with the *parents* argument to :py:class:`argparse.ArgumentParser`
"""
-parser.add_argument('--cmake', nargs='*', type=str, default=['3.13.0', '3.15.7', '3.17.2'],
+parser.add_argument('--cmake', nargs='*', type=str, default=['3.16.3', '3.17.2', '3.18.4'], # new minimum required versions
help='Selection of CMake version to provide to base image')
compiler_group = parser.add_mutually_exclusive_group()
# OS: Ubuntu oldest supported
# Compiler: Clang
# Build type: Debug
+# CMake: oldest supported
# GPU: no
# SIMD: no
# Scope: configure, build, unit tests
stage: pre-build
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
KUBERNETES_CPU_LIMIT: 8
KUBERNETES_CPU_REQUEST: 4
KUBERNETES_MEMORY_REQUEST: 8Gi
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_USE_SIMD_KERNELS=off"
CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_CUDA=ON"
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
needs:
- job: gromacs:clang-8-cuda-10.0:configure
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
tags:
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
REGRESSIONTEST_PME_RANK_NUMBER: 0
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
COMPILER_MAJOR_VERSION: 9
CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
needs:
- job: gromacs:clang-9-mpi:configure
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
REGRESSIONTEST_DOUBLE: "-double"
REGRESSIONTEST_PARALLEL: "-np"
tags:
- .rules:nightly-only-for-release
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 9
RELEASE_BUILD_DIR: release-builds-clang
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
- .rules:nightly-only-for-release
stage: release-build
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-clang
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
needs:
stage: release-tests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-clang
needs:
- job: gromacs:clang-9:release:configure
stage: release-tests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-clang
REGRESSIONTEST_DOUBLE: "-double"
REGRESSIONTEST_PARALLEL: "-np"
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
COMPILER_MAJOR_VERSION: 8
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
CTEST_RUN_MODE: "ExperimentalMemCheck"
tags:
- k8s-scilifelab
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
COMPILER_MAJOR_VERSION: 8
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=TSAN"
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
needs:
- job: gromacs:clang-TSAN:configure
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
needs:
- job: gromacs:clang-TSAN:build
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
COMPILER_MAJOR_VERSION: 8
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=UBSAN"
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
tags:
- k8s-scilifelab
needs:
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
COMPILER_MAJOR_VERSION: 10
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
needs:
- job: gromacs:gcc-10:configure
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
REGRESSIONTEST_PME_RANK_NUMBER: 0
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
COMPILER_MAJOR_VERSION: 7
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
needs:
- job: gromacs:gcc-7-cuda-10.2:configure
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
tags:
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
GMX_GPU_DD_COMMS: 1
- .rules:merge-requests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
REGRESSIONTEST_PME_RANK_NUMBER: 0
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
REGRESSIONTEST_PME_RANK_NUMBER: 0
# OS: Ubuntu oldest supported
# GPU: CUDA newest supported
# HW: NVIDIA GPU
+# CMake: oldest supported
# Scope: configure, build, unit tests
# Test implementation choices (free to change as needed):
# OS: Ubuntu 18.04
- .rules:nightly-only-for-release
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 8
RELEASE_BUILD_DIR: release-builds-gcc
CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithAssert"
- .rules:nightly-only-for-release
stage: release-build
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-gcc
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
needs:
stage: release-tests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
BUILD_DIR: release-builds-gcc
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
COMPILER_MAJOR_VERSION: 8
- .rules:merge-and-post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
needs:
- job: gromacs:gcc-8-cuda-11.0:configureMPI
- .rules:post-merge-acceptance
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.18.4/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
REGRESSIONTEST_PME_RANK_NUMBER: 0
- .rules:nightly-only-for-release
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 9
RELEASE_BUILD_DIR: release-builds-gcc
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
- .rules:nightly-only-for-release
stage: release-build
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-gcc
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
needs:
stage: release-tests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-gcc
KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
stage: release-tests
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
variables:
- CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-gcc
KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
- .rules:basic-push
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 9
BUILD_DIR: build-clang-tidy
CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
- .rules:nightly-not-for-release
image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 9
BUILD_DIR: build-clang-tidy
CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON
needs:
- job: clang-tidy:configure-schedule
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: build-clang-tidy
clang-tidy:test:
needs:
- job: clang-tidy:configure-push
variables:
- CMAKE: /usr/local/cmake-3.15.7/bin/cmake
+ CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 9
BUILD_DIR: build-clang-tidy
EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2016,2018, by the GROMACS development team, led by
+# Copyright (c) 2016,2018,2021, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
# library built in the main project.
if (LMFIT_FOUND)
add_library(lmfit INTERFACE IMPORTED)
- set_target_properties(lmfit PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${LMFIT_INCLUDE_DIR}"
- INTERFACE_LINK_LIBRARIES "${LMFIT_LIBRARY}"
- )
+ target_link_libraries(lmfit INTERFACE "${LMFIT_LIBRARY}")
+ target_include_directories(lmfit SYSTEM BEFORE INTERFACE "${LMFIT_INCLUDE_DIR}")
endif()
cmake_pop_check_state()
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2018, by the GROMACS development team, led by
+# Copyright (c) 2018,2021, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
# that was found was actually built in this project.
if(clFFT_FOUND)
add_library(clFFT INTERFACE IMPORTED)
- # When we depend on cmake 3.11, this work-around (specific to
- # imported targets) can be done more simply by using the normal
- # target_include_directories() and target_link_libraries()
- set_target_properties(clFFT PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${clFFT_INCLUDE_DIR}"
- INTERFACE_LINK_LIBRARIES "${clFFT_LIBRARY};${CMAKE_DL_LIBS}"
- )
+ target_link_libraries(clFFT INTERFACE "${clFFT_LIBRARY}" "${CMAKE_DL_LIBS}")
+ target_include_directories(clFFT SYSTEM BEFORE INTERFACE "${clFFT_INCLUDE_DIR}")
endif()
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2020, by the GROMACS development team, led by
+# Copyright (c) 2020,2021, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
set(Python3_FIND_QUIETLY ON)
set(PythonInterp_FIND_QUIETLY ON)
endif()
-if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.15)
- if (NOT Python3_FIND_STRATEGY)
- # If the user provides a hint for the Python installation with Python3_ROOT_DIR,
- # prevent FindPython3 from overriding the choice with a newer Python version
- # when CMP0094 is set to OLD.
- set(Python3_FIND_STRATEGY LOCATION)
- endif ()
- if(NOT Python3_FIND_VIRTUALENV)
- # We advocate using Python venvs to manage package availability, so by default
- # we want to preferentially discover user-space software.
- set(Python3_FIND_VIRTUALENV FIRST)
- endif()
-else()
- if(NOT Python3_FIND_REGISTRY)
- # We advocate using Python venvs to manage package availability, so by default
- # we want to preferentially discover user-space software.
- set(Python3_FIND_REGISTRY LAST)
- endif()
- # Make package discovery consistent with Unix behavior and our documented
- # suggestions for installing dependencies.
- set(CMAKE_FIND_FRAMEWORK LAST)
+if (NOT Python3_FIND_STRATEGY)
+ # If the user provides a hint for the Python installation with Python3_ROOT_DIR,
+ # prevent FindPython3 from overriding the choice with a newer Python version
+ # when CMP0094 is set to OLD.
+ set(Python3_FIND_STRATEGY LOCATION)
endif ()
+if(NOT Python3_FIND_VIRTUALENV)
+ # We advocate using Python venvs to manage package availability, so by default
+ # we want to preferentially discover user-space software.
+ set(Python3_FIND_VIRTUALENV FIRST)
+endif()
if(GMX_PYTHON_PACKAGE)
find_package(Python3 3.6 COMPONENTS Interpreter Development)
if (NOT Python3_FOUND OR NOT Python3_Development_FOUND)
# Python package requirements for complete build, installation, and testing of
# gmxapi functionality.
-cmake>=3.13
+cmake>=3.16.3
flake8>=3.7.7
networkx>=2.0
numpy>=1
-cmake_minimum_required(VERSION 3.13.0)
+cmake_minimum_required(VERSION 3.16.3)
# If you are using this repository as a template, you should probably change the
# project name and adopt your own versioning scheme.
project(sample_restraint VERSION 0.0.8)
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2019,2020, by the GROMACS development team, led by
+# Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
# configure and run CMake. CMake could be invoked directly by the user or a
# parent package, but the Python distribution would not be packaged automatically.
# Reference https://gitlab.com/gromacs/gromacs/-/issues/2896 for additional discussion.
-cmake_minimum_required(VERSION 3.13.0)
+cmake_minimum_required(VERSION 3.16.3)
# This needs to be set before project() in order to pick up toolchain files
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
-cmake_minimum_required(VERSION 3.9.6)
+cmake_minimum_required(VERSION 3.16.3)
project(template CXX)
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)