From 5333734a2230863c0139e6599f8165a547043736 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Thu, 15 Aug 2024 07:20:20 -0700 Subject: [PATCH] Use PROJECT_VERSION not CMAKE_PROJECT_VERSION When building as a subproject the `CMAKE_PROJECT_VERSION` is the root project version not the current project version. As such, in a subproject which makes use of UMF, such as UR, the `.so` or `.dll` library version would be set to the UR project version, not the UMF version. This patch fixes this erroneous versioning by using `PROJECT_VERSION` (and derivatives) in place of `CMAKE_PROJECT_VERSION`. --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 4 ++-- src/libumf.rc.in | 2 +- src/proxy_lib/CMakeLists.txt | 3 +-- src/proxy_lib/proxy_lib.rc.in | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b04bc5177..8eb920712b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ project( VERSION ${UMF_CMAKE_VERSION} LANGUAGES C) -if(CMAKE_PROJECT_VERSION_PATCH GREATER 0) +if(PROJECT_VERSION_PATCH GREATER 0) # set extra variable for Windows dll metadata set(UMF_VERSION_BUGFIX 1) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 84c85975c2..3b407f7f2e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -168,8 +168,8 @@ if(UMF_BUILD_SHARED_LIBRARY) set_target_properties( umf PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_UMF_OUTPUT_DIRECTORY} - VERSION ${CMAKE_PROJECT_VERSION} - SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}) + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR}) else() add_umf_library( NAME umf diff --git a/src/libumf.rc.in b/src/libumf.rc.in index 3915e0a10a..7aba79e7ed 100644 --- a/src/libumf.rc.in +++ b/src/libumf.rc.in @@ -8,7 +8,7 @@ #include "umf/base.h" -#define UMF_VERNUMBERS @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@UMF_VERSION_REVISION@ +#define UMF_VERNUMBERS @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@UMF_VERSION_REVISION@ #define _UMF_VERSION "@UMF_VERSION@" #ifdef _DEBUG diff --git a/src/proxy_lib/CMakeLists.txt b/src/proxy_lib/CMakeLists.txt index 379a454d0d..d6b07902df 100644 --- a/src/proxy_lib/CMakeLists.txt +++ b/src/proxy_lib/CMakeLists.txt @@ -32,8 +32,7 @@ add_umf_library( LIBS umf_utils ${PROXY_LIBS} LINUX_MAP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/proxy_lib.map WINDOWS_DEF_FILE ${CMAKE_CURRENT_SOURCE_DIR}/proxy_lib.def) -set_target_properties(umf_proxy PROPERTIES SOVERSION - ${CMAKE_PROJECT_VERSION_MAJOR}) +set_target_properties(umf_proxy PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}) add_library(${PROJECT_NAME}::proxy ALIAS umf_proxy) diff --git a/src/proxy_lib/proxy_lib.rc.in b/src/proxy_lib/proxy_lib.rc.in index 29c8b0482f..dce151ec3e 100644 --- a/src/proxy_lib/proxy_lib.rc.in +++ b/src/proxy_lib/proxy_lib.rc.in @@ -8,7 +8,7 @@ #include "umf/base.h" -#define UMF_VERNUMBERS @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@UMF_VERSION_REVISION@ +#define UMF_VERNUMBERS @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@UMF_VERSION_REVISION@ #define _UMF_VERSION "@UMF_VERSION@" #ifdef _DEBUG