summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2021-04-02 06:28:05 +0000
committerAlan Antonuk <alan.antonuk@gmail.com>2021-04-01 23:40:05 -0700
commit188d1be3e3498c5843b8f9fc439b828c64af57fd (patch)
tree7b9699e5a71248c9a06453220331b704ef5d2bdb /CMakeLists.txt
parentd5bbafae56ddcc3fcbef49b35271b7abab8c2621 (diff)
downloadrabbitmq-c-188d1be3e3498c5843b8f9fc439b828c64af57fd.tar.gz
cmake: use modern version of project() command
This also gets rid of a non-top-level project command that probably shouldn't be used. Signed-off-by: GitHub <noreply@github.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt35
1 files changed, 12 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 473642a..2b330f4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,15 +4,6 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()
-project(rabbitmq-c "C")
-
-set(CMAKE_C_STANDARD 90)
-set(CMAKE_C_STANDARD_REQUIRED ON)
-set(CMAKE_C_EXTENSIONS ON)
-
-set(CMAKE_C_VISIBILITY_PRESET hidden)
-set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# Follow all steps below in order to calculate new ABI version when updating the library
@@ -27,23 +18,21 @@ set(RMQ_SOVERSION_CURRENT 9)
set(RMQ_SOVERSION_REVISION 1)
set(RMQ_SOVERSION_AGE 5)
-math(EXPR RMQ_SOVERSION_MAJOR "${RMQ_SOVERSION_CURRENT} - ${RMQ_SOVERSION_AGE}")
-math(EXPR RMQ_SOVERSION_MINOR "${RMQ_SOVERSION_AGE}")
-math(EXPR RMQ_SOVERSION_PATCH "${RMQ_SOVERSION_REVISION}")
-
-set(RMQ_VERSION ${RMQ_SOVERSION_MAJOR}.${RMQ_SOVERSION_MINOR}.${RMQ_SOVERSION_PATCH})
-set(RMQ_SOVERSION ${RMQ_SOVERSION_MAJOR})
+include(VersionFunctions)
+get_library_version(VERSION)
+compute_soversion(${RMQ_SOVERSION_CURRENT} ${RMQ_SOVERSION_REVISION} ${RMQ_SOVERSION_AGE} RMQ_VERSION RMQ_SOVERSION)
-file(STRINGS librabbitmq/amqp.h _API_VERSION_MAJOR REGEX "^#define AMQP_VERSION_MAJOR [0-9]+$")
-file(STRINGS librabbitmq/amqp.h _API_VERSION_MINOR REGEX "^#define AMQP_VERSION_MINOR [0-9]+$")
-file(STRINGS librabbitmq/amqp.h _API_VERSION_PATCH REGEX "^#define AMQP_VERSION_PATCH [0-9]+$")
+project(rabbitmq-c
+ VERSION ${VERSION}
+ DESCRIPTION "C RabbitMQ AMQP client library"
+ LANGUAGES C)
-string(REGEX MATCH "[0-9]+" _API_VERSION_MAJOR ${_API_VERSION_MAJOR})
-string(REGEX MATCH "[0-9]+" _API_VERSION_MINOR ${_API_VERSION_MINOR})
-string(REGEX MATCH "[0-9]+" _API_VERSION_PATCH ${_API_VERSION_PATCH})
+set(CMAKE_C_STANDARD 90)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+set(CMAKE_C_EXTENSIONS ON)
-# VERSION to match what is in autotools
-set(VERSION ${_API_VERSION_MAJOR}.${_API_VERSION_MINOR}.${_API_VERSION_PATCH})
+set(CMAKE_C_VISIBILITY_PRESET hidden)
+set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
set(default_build_type "Release")
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)