From 70eb9d39e582efb723a009398ce2578c0b15f423 Mon Sep 17 00:00:00 2001 From: David Andrs Date: Wed, 12 Nov 2025 07:32:09 -0700 Subject: [PATCH 1/5] Set correct COMPATIBILITY This matches our versioning scheme now --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 753e70a..f68a334 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -48,7 +48,7 @@ if (EXODUSIICPP_INSTALL) ) write_basic_package_version_file(exodusiicpp-config-version.cmake VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion + COMPATIBILITY SameMajorVersion ) install( @@ -82,4 +82,4 @@ if (EXODUSIICPP_INSTALL) "${CMAKE_SOURCE_DIR}/cmake/FindNetCDF.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/exodusIIcpp ) -endif() \ No newline at end of file +endif() From fede92da2b0cf76c3ca4b9f391b93382563b0b94 Mon Sep 17 00:00:00 2001 From: David Andrs Date: Wed, 12 Nov 2025 07:32:29 -0700 Subject: [PATCH 2/5] gha: lock cmake version --- .github/workflows/build.yml | 3 ++- .github/workflows/gh-pages.yml | 3 ++- .github/workflows/qa.yml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 233e672..cd35193 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,8 @@ jobs: - name: Install dependencies run: | conda install \ - cmake \ + cmake=3.31.2 \ + rhash=1.4.3 \ make \ mpich-mpicxx \ exodusii==2022.10.* \ diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 4edf500..ad0e7c0 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -29,7 +29,8 @@ jobs: - name: Install dependencies run: | conda install \ - cmake \ + cmake=3.31.2 \ + rhash=1.4.3 \ make \ mpich-mpicxx \ exodusii==2022.10.* \ diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index c598e16..dd52b54 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -52,7 +52,8 @@ jobs: - name: Install dependencies run: | conda install \ - cmake \ + cmake=3.31.2 \ + rhash=1.4.3 \ make \ mpich-mpicxx \ exodusii==2022.10.* \ From b8cdfae90804546023be0fcfdc3547509a17305d Mon Sep 17 00:00:00 2001 From: David Andrs Date: Wed, 12 Nov 2025 07:35:49 -0700 Subject: [PATCH 3/5] Using `target_compile_features` instead of `CMAKE_CXX_STANDARD` --- CMakeLists.txt | 2 -- src/CMakeLists.txt | 3 +++ test/CMakeLists.txt | 3 --- tools/exo2yml/CMakeLists.txt | 3 --- tools/yml2exo/CMakeLists.txt | 3 --- 5 files changed, 3 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9db7f06..8e94047 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,6 @@ project(exodusIIcpp LANGUAGES CXX C ) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) include(FetchContent) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f68a334..54f0bdf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,6 +7,9 @@ add_library( node_set.cpp side_set.cpp ) + +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) + if(CMAKE_PROJECT_NAME STREQUAL "exodusIIcpp") target_code_coverage(${PROJECT_NAME}) target_sanitization(${PROJECT_NAME}) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 33e37ff..aa69fcd 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,9 +2,6 @@ project(exodusIIcpp-test) include(GoogleTest) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED True) - add_executable(${PROJECT_NAME} ElementBlock_test.cpp Error_test.cpp diff --git a/tools/exo2yml/CMakeLists.txt b/tools/exo2yml/CMakeLists.txt index c2b139b..0a878c0 100644 --- a/tools/exo2yml/CMakeLists.txt +++ b/tools/exo2yml/CMakeLists.txt @@ -1,8 +1,5 @@ project(exo2yml LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - find_package(yaml-cpp 0.8 REQUIRED) add_executable(${PROJECT_NAME} diff --git a/tools/yml2exo/CMakeLists.txt b/tools/yml2exo/CMakeLists.txt index 3d0205e..be625f3 100644 --- a/tools/yml2exo/CMakeLists.txt +++ b/tools/yml2exo/CMakeLists.txt @@ -1,8 +1,5 @@ project(yml2exo LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - find_package(yaml-cpp 0.8 REQUIRED) add_executable(${PROJECT_NAME} From 19eb775ce7647729a198c9e35f123c787bab1dd1 Mon Sep 17 00:00:00 2001 From: David Andrs Date: Wed, 12 Nov 2025 07:54:30 -0700 Subject: [PATCH 4/5] gtest is now an external dependency --- .github/workflows/build.yml | 1 + .github/workflows/qa.yml | 1 + CMakeLists.txt | 23 ----------------------- test/CMakeLists.txt | 5 ++--- 4 files changed, 4 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cd35193..2b2ef59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,7 @@ jobs: pybind11 \ pytest \ flake8 \ + gtest \ lcov - name: Configure diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index dd52b54..76d44a1 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -56,6 +56,7 @@ jobs: rhash=1.4.3 \ make \ mpich-mpicxx \ + gtest \ exodusii==2022.10.* \ fmt=11.* \ yaml-cpp==0.8.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e94047..d7535ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,29 +30,6 @@ find_package(NetCDF 4.5 REQUIRED) find_package(HDF5 1.10 REQUIRED COMPONENTS C) find_package(ExodusII REQUIRED) -if (EXODUSIICPP_BUILD_TESTS) - FetchContent_Declare( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG v1.15.2 - ) - set(INSTALL_GTEST OFF CACHE BOOL "" FORCE) - mark_as_advanced(FORCE - BUILD_GMOCK - INSTALL_GTEST - FETCHCONTENT_SOURCE_DIR_GOOGLETEST - FETCHCONTENT_UPDATES_DISCONNECTED_GOOGLETEST - ) - - FetchContent_MakeAvailable(googletest) - mark_as_advanced(FORCE - FETCHCONTENT_BASE_DIR - FETCHCONTENT_FULLY_DISCONNECTED - FETCHCONTENT_QUIET - FETCHCONTENT_UPDATES_DISCONNECTED - ) -endif() - add_subdirectory(src) if (EXODUSIICPP_BUILD_TOOLS) add_subdirectory(tools) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index aa69fcd..b1a7046 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,6 +1,6 @@ project(exodusIIcpp-test) -include(GoogleTest) +find_package(GTest REQUIRED) add_executable(${PROJECT_NAME} ElementBlock_test.cpp @@ -24,8 +24,7 @@ target_link_libraries( ${PROJECT_NAME} PUBLIC exodusIIcpp - gtest_main - gmock_main + GTest::gmock_main ) target_compile_definitions(${PROJECT_NAME} From fc45b280a39ba0b221c3dd077a8224a16b5680c6 Mon Sep 17 00:00:00 2001 From: David Andrs Date: Wed, 12 Nov 2025 08:02:49 -0700 Subject: [PATCH 5/5] cmake: adding missing dependency in cmake config module --- cmake/exodusiicpp-config.cmake.in | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/exodusiicpp-config.cmake.in b/cmake/exodusiicpp-config.cmake.in index bbb8b8a..fa788c3 100644 --- a/cmake/exodusiicpp-config.cmake.in +++ b/cmake/exodusiicpp-config.cmake.in @@ -9,6 +9,7 @@ include(CMakeFindDependencyMacro) find_dependency(fmt 11 REQUIRED) find_dependency(NetCDF REQUIRED) +find_dependency(HDF5 1.10 REQUIRED COMPONENTS C) find_dependency(ExodusII REQUIRED) check_required_components(exodusIIcpp)