From d790cf01d701a5f66a15163a7912206d137bbaf6 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Tue, 12 Nov 2024 10:46:01 -0500 Subject: [PATCH 1/6] CMake AnyNewerVersion -> SameMajorVersion --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 163291c58..15d3f2c12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,7 +137,7 @@ configure_package_config_file(cmake/ArborXConfig.cmake.in ) write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/ArborXConfigVersion.cmake VERSION ${ARBORX_VERSION_STRING} - COMPATIBILITY AnyNewerVersion + COMPATIBILITY SameMajorVersion ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ArborXConfig.cmake From e103ab0ee1d28e297dda481a106c580046d96797 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Wed, 11 Dec 2024 10:24:34 -0500 Subject: [PATCH 2/6] Bump minimum required CMake version to 3.22 --- CMakeLists.txt | 2 +- examples/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 15d3f2c12..684255482 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(ArborX CXX) if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.30.0) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 62f77dc5c..725eb19cf 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,5 +1,5 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - cmake_minimum_required(VERSION 3.16) + cmake_minimum_required(VERSION 3.22) project(ArborXExamples CXX) find_package(ArborX 2.0 REQUIRED) enable_testing() From 52956f67376d838dc9b0d97ac1a25218d2d9ee9a Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Wed, 11 Dec 2024 10:44:07 -0500 Subject: [PATCH 3/6] Update CMake in docker images --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 63f17494f..7ea67c97a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -35,7 +35,7 @@ RUN KEYDUMP_URL=https://cloud1.cees.ornl.gov/download && \ # Install CMake ENV CMAKE_DIR=/opt/cmake -RUN CMAKE_VERSION=3.16.9 && \ +RUN CMAKE_VERSION=3.22.6 && \ CMAKE_KEY=2D2CEF1034921684 && \ CMAKE_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION} && \ CMAKE_SCRIPT=cmake-${CMAKE_VERSION}-Linux-x86_64.sh && \ From 98743675990117b0c39861b9d6e5708fce937e73 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Wed, 11 Dec 2024 13:53:12 -0500 Subject: [PATCH 4/6] Switch CMP0167 policy to NEW --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 684255482..80402e876 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ project(ArborX CXX) if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.30.0) message(STATUS "Setting policy CMP0167 to use FindBoost module") - cmake_policy(SET CMP0167 OLD) + cmake_policy(SET CMP0167 NEW) endif() # use gnu standard install directories From f07a54ed382b9d564d92a4eefa8cca1a78bb8aa4 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Wed, 11 Dec 2024 13:51:08 -0500 Subject: [PATCH 5/6] First fix for the Windows build This works but is very slow. --- .github/workflows/windows.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index f1be50dff..24827811c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -32,17 +32,18 @@ jobs: run: | mkdir build cd build - cmake -D CMAKE_INSTALL_PREFIX=C:\kokkos-install \ + cmake -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_INSTALL_PREFIX=C:\kokkos-install \ -D Kokkos_ENABLE_THREADS=ON \ .. - cmake --build . --target install -- -m + cmake --build . --config Release --target install -- -m - name: Configure ArborX run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="/EHsc /bigobj" -DKokkos_ROOT="C:\kokkos-install" ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} -DARBORX_ENABLE_MPI=OFF -DARBORX_ENABLE_TESTS=ON -DARBORX_ENABLE_EXAMPLES=ON -DARBORX_ENABLE_BENCHMARKS=ON -DARBORX_ENABLE_HEADER_SELF_CONTAINMENT_TESTS=OFF .. + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="/EHsc /bigobj" -DKokkos_ROOT="C:\kokkos-install" ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} -DARBORX_ENABLE_MPI=OFF -DARBORX_ENABLE_TESTS=ON -DARBORX_ENABLE_EXAMPLES=ON -DARBORX_ENABLE_BENCHMARKS=ON -DARBORX_ENABLE_HEADER_SELF_CONTAINMENT_TESTS=OFF .. - name: Build ArborX shell: bash run: | - cmake --build build --target install -- -m + cmake --build build --config Release --target install -- -m cd build From 702140c07dd941c47b5ebbc660cb2d617029e6fa Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Sat, 4 Jan 2025 17:14:34 -0500 Subject: [PATCH 6/6] Alternative approach --- .github/workflows/windows.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 24827811c..34a6bd515 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -32,18 +32,15 @@ jobs: run: | mkdir build cd build - cmake -D CMAKE_BUILD_TYPE=Release \ - -D CMAKE_INSTALL_PREFIX=C:\kokkos-install \ - -D Kokkos_ENABLE_THREADS=ON \ - .. + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDebugDLL" -DCMAKE_INSTALL_PREFIX=C:\kokkos-install -DKokkos_ENABLE_THREADS=ON .. cmake --build . --config Release --target install -- -m - name: Configure ArborX run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="/EHsc /bigobj" -DKokkos_ROOT="C:\kokkos-install" ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} -DARBORX_ENABLE_MPI=OFF -DARBORX_ENABLE_TESTS=ON -DARBORX_ENABLE_EXAMPLES=ON -DARBORX_ENABLE_BENCHMARKS=ON -DARBORX_ENABLE_HEADER_SELF_CONTAINMENT_TESTS=OFF .. + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="/EHsc /bigobj" -DKokkos_ROOT="C:\kokkos-install" ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} -DARBORX_ENABLE_MPI=OFF -DARBORX_ENABLE_TESTS=ON -DARBORX_ENABLE_EXAMPLES=ON -DARBORX_ENABLE_BENCHMARKS=ON -DARBORX_ENABLE_HEADER_SELF_CONTAINMENT_TESTS=OFF .. - name: Build ArborX shell: bash run: | - cmake --build build --config Release --target install -- -m + cmake --build build --config Debug --target install -- -m cd build