diff --git a/CMakeLists.txt b/CMakeLists.txt index 33b22c604..0392711dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,8 +100,12 @@ install(EXPORT ArborXTargets DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/ArborX ) -set(ARBORX_VERSION "10799") -set(ARBORX_VERSION_STRING "2.0 (dev)") +set(ARBORX_VERSION_MAJOR 1) +set(ARBORX_VERSION_MINOR 7) +set(ARBORX_VERSION_PATCH 99) +math(EXPR ARBORX_VERSION "${ARBORX_VERSION_MAJOR} * 10000 + ${ARBORX_VERSION_MINOR} * 100 + ${ARBORX_VERSION_PATCH}") +set(ARBORX_VERSION_STRING "${ARBORX_VERSION_MAJOR}.${ARBORX_VERSION_MINOR}.${ARBORX_VERSION_PATCH}") +message(STATUS "ArborX version: ${ARBORX_VERSION_STRING}") # Make sure that the git hash in ArborX_Version.hpp is considered to be always # out of date, and thus is updated every recompile. diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 725eb19cf..2b0b80f8e 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,7 +1,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) cmake_minimum_required(VERSION 3.22) project(ArborXExamples CXX) - find_package(ArborX 2.0 REQUIRED) + find_package(ArborX 1.7.99 REQUIRED) enable_testing() endif() diff --git a/src/ArborX_Config.hpp.in b/src/ArborX_Config.hpp.in index ffa234698..bcd5cbd81 100644 --- a/src/ArborX_Config.hpp.in +++ b/src/ArborX_Config.hpp.in @@ -12,7 +12,14 @@ #ifndef ARBORX_CONFIG_HPP #define ARBORX_CONFIG_HPP +// ARBORX_VERSION % 100 is the patch level +// ARBORX_VERSION / 100 % 100 is the minor version +// ARBORX_VERSION / 10000 is the major version #cmakedefine ARBORX_VERSION @ARBORX_VERSION@ +#cmakedefine ARBORX_VERSION_MAJOR @ARBORX_VERSION_MAJOR@ +#cmakedefine ARBORX_VERSION_MINOR @ARBORX_VERSION_MINOR@ +#cmakedefine ARBORX_VERSION_PATCH @ARBORX_VERSION_PATCH@ + #cmakedefine ARBORX_ENABLE_ROCTHRUST #cmakedefine ARBORX_ENABLE_ONEDPL #cmakedefine ARBORX_ENABLE_MPI diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ab79b388d..473ca7bdc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -41,6 +41,7 @@ add_executable(ArborX_Test_CompileOnly.exe tstCompileOnlyCallbacks.cpp tstCompileOnlyTypeRequirements.cpp tstCompileOnlyWeightedEdges.cpp + tstCompileOnlyVersionMacros.cpp tstCompileOnlyMain.cpp ) target_link_libraries(ArborX_Test_CompileOnly.exe PRIVATE ArborX) diff --git a/test/tstCompileOnlyVersionMacros.cpp b/test/tstCompileOnlyVersionMacros.cpp new file mode 100644 index 000000000..fcfafd4ab --- /dev/null +++ b/test/tstCompileOnlyVersionMacros.cpp @@ -0,0 +1,24 @@ +#include + +#ifndef ARBORX_VERSION +static_assert(false, "ARBORX_VERSION macro is not defined!"); +#endif + +#ifndef ARBORX_VERSION_MAJOR +static_assert(false, "ARBORX_VERSION_MAJOR macro is not defined!"); +#endif + +#ifndef ARBORX_VERSION_MINOR +static_assert(false, "ARBORX_VERSION_MINOR macro is not defined!"); +#endif + +#ifndef ARBORX_VERSION_PATCH +static_assert(false, "ARBORX_VERSION_PATCH macro is not defined!"); +#endif + +static_assert(0 <= ARBORX_VERSION_MAJOR && ARBORX_VERSION_MAJOR <= 99); +static_assert(0 <= ARBORX_VERSION_MINOR && ARBORX_VERSION_MINOR <= 99); +static_assert(0 <= ARBORX_VERSION_PATCH && ARBORX_VERSION_PATCH <= 99); +static_assert(ARBORX_VERSION == ARBORX_VERSION_MAJOR * 10000 + + ARBORX_VERSION_MINOR * 100 + + ARBORX_VERSION_PATCH);