diff --git a/.gitignore b/.gitignore index db6b1e042d4503c2b0ba495d582b842e77f63bb5..e8ba8747559abdacd563868545e2a6666be82a3c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ build/ CMakeFiles/ CMakeCache.txt .\#* +.*.swp .DS_Store /compile_commands.json GPATH diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd8e7d6368d2c980f4c1ca381b91018c701f856f..1d9b64f0f08f80b6809fe6860e17b7c24444351b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,9 +7,10 @@ variables: CTEST_OUTPUT_ON_FAILURE: 1 include: - - local: '/.gitlab-ci/gcc8-seq-dbg.yml' - - local: '/.gitlab-ci/gcc8-seq-release.yml' - - local: '/.gitlab-ci/clang10-seq-release.yml' + - local: '/.gitlab-ci/clang10-mpi-debug.yml' - local: '/.gitlab-ci/clang10-mpi-release.yml' - - local: '/.gitlab-ci/clang10-seq-coverage.yml' - - local: '/.gitlab-ci/clang10-mpi-coverage.yml' + - local: '/.gitlab-ci/gcc10-mpi-debug.yml' + - local: '/.gitlab-ci/gcc10-mpi-coverage.yml' + - local: '/.gitlab-ci/gcc10-mpi-release.yml' + - local: '/.gitlab-ci/gcc10-seq-coverage.yml' + - local: '/.gitlab-ci/gcc10-seq-release.yml' diff --git a/.gitlab-ci/clang10-mpi-coverage.yml b/.gitlab-ci/clang10-mpi-coverage.yml deleted file mode 100644 index 8d18ed109e0d929a7a66dcd44885eee8dbc55d68..0000000000000000000000000000000000000000 --- a/.gitlab-ci/clang10-mpi-coverage.yml +++ /dev/null @@ -1,14 +0,0 @@ -coverage:clang10-mpi-coverage: - image: localhost:5000/ubuntu_clang10_mpi - stage: coverage - script: - - mkdir -p build/clang10-cov-mpi - - cd build/clang10-cov-mpi - - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Coverage -DCLANG_FORMAT=/usr/bin/clang-format-10 - - make pugs - - make coverage - cache: - key: "${CI_COMMIT_REF_SLUG}-clang10-cov-mpi" - paths: - - build/clang10-cov-mpi - untracked: true diff --git a/.gitlab-ci/clang10-mpi-debug.yml b/.gitlab-ci/clang10-mpi-debug.yml new file mode 100644 index 0000000000000000000000000000000000000000..116a3f1034cd679352569680a09d878b31b83c73 --- /dev/null +++ b/.gitlab-ci/clang10-mpi-debug.yml @@ -0,0 +1,29 @@ +build:clang10-mpi-debug: + image: localhost:5000/ubuntu_clang10_mpi + stage: build + needs: [] + script: + - mkdir -p build/clang10-debug-mpi + - cd build/clang10-debug-mpi + - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Debug + - make pugs + cache: + key: "${CI_COMMIT_REF_SLUG}-clang10-debug-mpi" + paths: + - build/clang10-debug-mpi + untracked: true + +test:clang10-mpi-debug: + image: localhost:5000/ubuntu_clang10_mpi + stage: test + needs: ["build:clang10-mpi-debug"] + script: + - mkdir -p build/clang10-debug-mpi + - cd build/clang10-debug-mpi + - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Debug + - make run_unit_tests + cache: + key: "${CI_COMMIT_REF_SLUG}-clang10-debug-mpi" + paths: + - build/clang10-debug-mpi + untracked: true diff --git a/.gitlab-ci/clang10-mpi-release.yml b/.gitlab-ci/clang10-mpi-release.yml index 6a7b914c42d5122c8fcdd5b2d1229185658e80c7..cb1ffbda2ddc3bbed30f03d2caa4f0c8e45629c6 100644 --- a/.gitlab-ci/clang10-mpi-release.yml +++ b/.gitlab-ci/clang10-mpi-release.yml @@ -1,6 +1,7 @@ build:clang10-mpi-release: image: localhost:5000/ubuntu_clang10_mpi stage: build + needs: [] script: - mkdir -p build/clang10-release-mpi - cd build/clang10-release-mpi @@ -15,8 +16,7 @@ build:clang10-mpi-release: test:clang10-mpi-release: image: localhost:5000/ubuntu_clang10_mpi stage: test - dependencies: - - build:clang10-mpi-release + needs: ["build:clang10-mpi-release"] script: - mkdir -p build/clang10-release-mpi - cd build/clang10-release-mpi diff --git a/.gitlab-ci/clang10-seq-coverage.yml b/.gitlab-ci/clang10-seq-coverage.yml deleted file mode 100644 index c9bb772d63cabed996f3fe3834e858aded8cef4b..0000000000000000000000000000000000000000 --- a/.gitlab-ci/clang10-seq-coverage.yml +++ /dev/null @@ -1,14 +0,0 @@ -coverage:clang10-seq-coverage: - image: localhost:5000/ubuntu_clang10 - stage: coverage - script: - - mkdir -p build/clang10-cov - - cd build/clang10-cov - - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Coverage -DCLANG_FORMAT=/usr/bin/clang-format-10 - - make pugs - - make coverage - cache: - key: "${CI_COMMIT_REF_SLUG}-clang10-cov" - paths: - - build/clang10-cov - untracked: true diff --git a/.gitlab-ci/clang10-seq-release.yml b/.gitlab-ci/clang10-seq-release.yml deleted file mode 100644 index bfd921abdd8b60a7fcb273d55a7821ace695bbeb..0000000000000000000000000000000000000000 --- a/.gitlab-ci/clang10-seq-release.yml +++ /dev/null @@ -1,29 +0,0 @@ -build:clang10-seq-release: - image: localhost:5000/ubuntu_clang10 - stage: build - script: - - mkdir -p build/clang10-release-seq - - cd build/clang10-release-seq - - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release -DCLANG_FORMAT=/usr/bin/clang-format-10 - - make pugs - cache: - key: "${CI_COMMIT_REF_SLUG}-clang10-release-seq" - paths: - - build/clang10-release-seq - untracked: true - -test:clang10-seq-release: - image: localhost:5000/ubuntu_clang10 - stage: test - dependencies: - - build:clang10-seq-release - script: - - mkdir -p build/clang10-release-seq - - cd build/clang10-release-seq - - CXX=clang++-10 CC=clang-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release -DCLANG_FORMAT=/usr/bin/clang-format-10 - - make run_unit_tests - cache: - key: "${CI_COMMIT_REF_SLUG}-clang10-release-seq" - paths: - - build/clang10-release-seq - untracked: true diff --git a/.gitlab-ci/gcc10-mpi-coverage.yml b/.gitlab-ci/gcc10-mpi-coverage.yml new file mode 100644 index 0000000000000000000000000000000000000000..156592e9f4c080b545915a5e9a7aecef96ce3d2e --- /dev/null +++ b/.gitlab-ci/gcc10-mpi-coverage.yml @@ -0,0 +1,14 @@ +coverage:gcc10-mpi-coverage: + image: localhost:5000/ubuntu_gcc10_mpi + stage: coverage + script: + - mkdir -p build/gcc10-cov-mpi + - cd build/gcc10-cov-mpi + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Coverage + - make pugs + - make coverage + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-cov-mpi" + paths: + - build/gcc10-cov-mpi + untracked: true diff --git a/.gitlab-ci/gcc10-mpi-debug.yml b/.gitlab-ci/gcc10-mpi-debug.yml new file mode 100644 index 0000000000000000000000000000000000000000..6dd2806678651be82e4e2defdbb0c57ea2597f79 --- /dev/null +++ b/.gitlab-ci/gcc10-mpi-debug.yml @@ -0,0 +1,29 @@ +build:gcc10-mpi-debug: + image: localhost:5000/ubuntu_gcc10_mpi + stage: build + needs: [] + script: + - mkdir -p build/gcc10-debug-mpi + - cd build/gcc10-debug-mpi + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Debug + - make pugs + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-debug-mpi" + paths: + - build/gcc10-debug-mpi + untracked: true + +test:gcc10-mpi-debug: + image: localhost:5000/ubuntu_gcc10_mpi + stage: test + needs: ["build:gcc10-mpi-debug"] + script: + - mkdir -p build/gcc10-debug-mpi + - cd build/gcc10-debug-mpi + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Debug + - make run_unit_tests + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-debug-mpi" + paths: + - build/gcc10-debug-mpi + untracked: true diff --git a/.gitlab-ci/gcc10-mpi-release.yml b/.gitlab-ci/gcc10-mpi-release.yml new file mode 100644 index 0000000000000000000000000000000000000000..3f7d2a6a9aae7368216047a5fb691dc71df2aff9 --- /dev/null +++ b/.gitlab-ci/gcc10-mpi-release.yml @@ -0,0 +1,29 @@ +build:gcc10-mpi-release: + image: localhost:5000/ubuntu_gcc10_mpi + stage: build + needs: [] + script: + - mkdir -p build/gcc10-release-mpi + - cd build/gcc10-release-mpi + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release + - make pugs + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-release-mpi" + paths: + - build/gcc10-release-mpi + untracked: true + +test:gcc10-mpi-release: + image: localhost:5000/ubuntu_gcc10_mpi + stage: test + needs: ["build:gcc10-mpi-release"] + script: + - mkdir -p build/gcc10-release-mpi + - cd build/gcc10-release-mpi + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release + - make run_unit_tests + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-release-mpi" + paths: + - build/gcc10-release-mpi + untracked: true diff --git a/.gitlab-ci/gcc10-seq-coverage.yml b/.gitlab-ci/gcc10-seq-coverage.yml new file mode 100644 index 0000000000000000000000000000000000000000..663798274b0c465892c78084dde56022b151b1ba --- /dev/null +++ b/.gitlab-ci/gcc10-seq-coverage.yml @@ -0,0 +1,14 @@ +coverage:gcc10-seq-coverage: + image: localhost:5000/ubuntu_gcc10 + stage: coverage + script: + - mkdir -p build/gcc10-cov + - cd build/gcc10-cov + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Coverage + - make pugs + - make coverage + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-cov" + paths: + - build/gcc10-cov + untracked: true diff --git a/.gitlab-ci/gcc10-seq-release.yml b/.gitlab-ci/gcc10-seq-release.yml new file mode 100644 index 0000000000000000000000000000000000000000..525a08a80f295df5a8e766304279b79cd3fef4b0 --- /dev/null +++ b/.gitlab-ci/gcc10-seq-release.yml @@ -0,0 +1,29 @@ +build:gcc10-seq-release: + image: localhost:5000/ubuntu_gcc10 + stage: build + needs: [] + script: + - mkdir -p build/gcc10-release-seq + - cd build/gcc10-release-seq + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release + - make pugs + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-release-seq" + paths: + - build/gcc10-release-seq + untracked: true + +test:gcc10-seq-release: + image: localhost:5000/ubuntu_gcc10 + stage: test + needs: ["build:gcc10-seq-release"] + script: + - mkdir -p build/gcc10-release-seq + - cd build/gcc10-release-seq + - CXX=g++-10 CC=gcc-10 cmake ../.. -DCMAKE_BUILD_TYPE=Release + - make run_unit_tests + cache: + key: "${CI_COMMIT_REF_SLUG}-gcc10-release-seq" + paths: + - build/gcc10-release-seq + untracked: true diff --git a/.gitlab-ci/gcc8-seq-coverage.yml b/.gitlab-ci/gcc8-seq-coverage.yml deleted file mode 100644 index b1dde28e100add4c0aecccc07b7cb7c695cde92e..0000000000000000000000000000000000000000 --- a/.gitlab-ci/gcc8-seq-coverage.yml +++ /dev/null @@ -1,13 +0,0 @@ -build:gcc8-seq-coverage: - image: localhost:5000/ubuntu_gcc8 - stage: coverage - script: - - mkdir -p build/gcc8-seq-covrage - - cd build/gcc8-seq-covrage - - CXX=g++-8 CC=gcc-8 cmake ../.. -DCMAKE_BUILD_TYPE=Coverage - - make coverage - cache: - key: "${CI_COMMIT_REF_SLUG}-gcc8-seq-coverage" - paths: - - build/gcc8-seq-covrage - untracked: true diff --git a/.gitlab-ci/gcc8-seq-dbg.yml b/.gitlab-ci/gcc8-seq-dbg.yml deleted file mode 100644 index b8a9d91379064a24bde84b873adbf717d8380503..0000000000000000000000000000000000000000 --- a/.gitlab-ci/gcc8-seq-dbg.yml +++ /dev/null @@ -1,29 +0,0 @@ -build:gcc8-seq-dbg: - image: localhost:5000/ubuntu_gcc8 - stage: build - script: - - mkdir -p build/gcc8-seq-dbg - - cd build/gcc8-seq-dbg - - CXX=g++-8 CC=gcc-8 cmake ../.. -DCMAKE_BUILD_TYPE=Debug - - make pugs - cache: - key: "${CI_COMMIT_REF_SLUG}-gcc8-seq-dbg" - paths: - - build/gcc8-seq-dbg - untracked: true - -test:gcc8-seq-dbg: - image: localhost:5000/ubuntu_gcc8 - stage: test - dependencies: - - build:gcc8-seq-dbg - script: - - mkdir -p build/gcc8-seq-dbg - - cd build/gcc8-seq-dbg - - CXX=g++-8 CC=gcc-8 cmake ../.. -DCMAKE_BUILD_TYPE=Debug - - make run_unit_tests - cache: - key: "${CI_COMMIT_REF_SLUG}-gcc8-seq-dbg" - paths: - - build/gcc8-seq-dbg - untracked: true diff --git a/.gitlab-ci/gcc8-seq-release.yml b/.gitlab-ci/gcc8-seq-release.yml deleted file mode 100644 index 516bfa2e2f4ceb0656a2394f7f0b3b50acf96d86..0000000000000000000000000000000000000000 --- a/.gitlab-ci/gcc8-seq-release.yml +++ /dev/null @@ -1,29 +0,0 @@ -build:gcc8-seq-release: - image: localhost:5000/ubuntu_gcc8 - stage: build - script: - - mkdir -p build/gcc8-seq-release - - cd build/gcc8-seq-release - - CXX=g++-8 CC=gcc-8 cmake ../.. -DCMAKE_BUILD_TYPE=Release - - make pugs - cache: - key: "${CI_COMMIT_REF_SLUG}-gcc8-seq-release" - paths: - - build/gcc8-seq-release - untracked: true - -test:gcc8-seq-release: - image: localhost:5000/ubuntu_gcc8 - stage: test - dependencies: - - build:gcc8-seq-release - script: - - mkdir -p build/gcc8-seq-release - - cd build/gcc8-seq-release - - CXX=g++-8 CC=gcc-8 cmake ../.. -DCMAKE_BUILD_TYPE=Release - - make run_unit_tests - cache: - key: "${CI_COMMIT_REF_SLUG}-gcc8-seq-release" - paths: - - build/gcc8-seq-release - untracked: true diff --git a/CMakeLists.txt b/CMakeLists.txt index 73cda5739485b07c04c44c93ae6f4e9533d0f055..4197fca78ed484ea3a2ffd8747872db2bcb66c6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.4) +cmake_minimum_required (VERSION 3.10) # CMake utils list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") @@ -81,8 +81,8 @@ endif() #------------------------------------------------------ # Checks if compiler version is compatible with Pugs sources -set(GNU_CXX_MIN_VERSION "7.0.0") -set(CLANG_CXX_MIN_VERSION "5.0.0") +set(GNU_CXX_MIN_VERSION "8.0.0") +set(CLANG_CXX_MIN_VERSION "8.0.0") # Pugs default compiler flags set(PUGS_CXX_FLAGS "${PUGS_CXX_FLAGS} -Wall -Wextra -pedantic") @@ -181,15 +181,7 @@ endif() #------------------------------------------------------ # C++ 17 flags -if(${CMAKE_VERSION} VERSION_LESS "3.8.0") - message(WARNING "Please consider to switch to CMake >= 3.8") - set(PUGS_CXX_FLAGS "${PUGS_CXX_FLAGS} -std=gnu++1z") - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(PUGS_CXX_FLAGS "${PUGS_CXX_FLAGS} -Wno-c++17-extensions") - endif() -else() - set(CMAKE_CXX_STANDARD "17") -endif() +set(CMAKE_CXX_STANDARD "17") #------------------------------------------------------ # Kokkos configuration