From 8efc95955770989b3d09c011bc3e311f84787f1d Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Tue, 2 Jul 2013 13:57:33 -0700 Subject: Add compile and runtime library version functions --- CMakeLists.txt | 6 ------ 1 file changed, 6 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4db4e5c..9fd39a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,10 +4,6 @@ project(rabbitmq-c "C") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -set(RMQ_VERSION_MAJOR 0) -set(RMQ_VERSION_MINOR 3) -set(RMQ_VERSION_PATCH 0) - # Follow all steps below in order to calculate new ABI version when updating the library # NOTE: THIS IS UNRELATED to the actual project version # @@ -27,8 +23,6 @@ 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}) -set(VERSION ${RMQ_VERSION_MAJOR}.${RMQ_VERSION_MINOR}.${RMQ_VERSION_PATCH}) - if (MSVC) set(CMAKE_C_FLAGS "/W4 /nologo ${CMAKE_C_FLAGS}") elseif (CMAKE_COMPILER_IS_GNUCC) -- cgit v1.2.1 From 8554733a88a19b19637be4b03b0e570e6dc75be9 Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Mon, 16 Jul 2012 23:12:22 -0400 Subject: Document public API --- CMakeLists.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 9fd39a9..78fc94f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -201,6 +201,7 @@ endif (REGENERATE_AMQP_FRAMING) find_package(POPT) find_package(XmlTo) +find_package(Doxygen) if (POPT_FOUND AND XmlTo_FOUND) set(DO_DOCS ON) @@ -215,6 +216,7 @@ option(BUILD_EXAMPLES "Build Examples" ON) option(BUILD_TOOLS "Build Tools (requires POPT Library)" ${POPT_FOUND}) option(BUILD_TOOLS_DOCS "Build man pages for Tools (requires xmlto)" ${DO_DOCS}) option(BUILD_TESTS "Build tests (run tests with make test)" ON) +option(BUILD_API_DOCS "Build Doxygen API docs" ${DOXYGEN_FOUND}) option(ENABLE_SSL_SUPPORT "Enable SSL support" ON) option(ENABLE_THREAD_SAFETY "Enable thread safety when using OpenSSL" ${Threads_FOUND}) @@ -266,6 +268,22 @@ if (BUILD_TESTS) add_subdirectory(tests) endif (BUILD_TESTS) +if (BUILD_API_DOCS) + if (NOT DOXYGEN_FOUND) + message(FATAL_ERROR "Doxygen is required to build the API documentation") + endif () + configure_file(${CMAKE_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_BINARY_DIR}/docs/Doxyfile @ONLY) + + add_custom_target(docs + COMMAND ${DOXYGEN_EXECUTABLE} + VERBATIM + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/docs + DEPENDS rabbitmq + COMMENT "Generating API documentation" + SOURCES ${CMAKE_SOURCE_DIR}/docs/Doxyfile.in + ) +endif () + set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin) set(libdir ${CMAKE_INSTALL_PREFIX}/lib) -- cgit v1.2.1 From 5dc23cc52a147d3a9db3fced2a3ab5019fb1c0c3 Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Tue, 13 Aug 2013 16:59:53 -0700 Subject: Updating version numbers for release of v0.4.0 --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 78fc94f..f359f0f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,9 +12,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # 3. If any interfaces have been added since the last public release, then increment age. # 4. If any interfaces have been removed since the last public release, then set age to 0. -set(RMQ_SOVERSION_CURRENT 1) -set(RMQ_SOVERSION_REVISION 1) -set(RMQ_SOVERSION_AGE 0) +set(RMQ_SOVERSION_CURRENT 2) +set(RMQ_SOVERSION_REVISION 0) +set(RMQ_SOVERSION_AGE 1) math(EXPR RMQ_SOVERSION_MAJOR "${RMQ_SOVERSION_CURRENT} - ${RMQ_SOVERSION_AGE}") math(EXPR RMQ_SOVERSION_MINOR "${RMQ_SOVERSION_AGE}") -- cgit v1.2.1 From ac88db56d3dd1827072d54e6846fc82069e8f05a Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Tue, 20 Aug 2013 17:19:06 -0700 Subject: CMake: correct generation of librabbitmq.pc Fix CMake code that substitutes librabbitmq.pc to be correct. --- CMakeLists.txt | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index f359f0f..ff1af37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,17 @@ 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}) +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]+$") + +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}) + +# VERSION to match what is in autotools +set(VERSION ${_API_VERSION_MAJOR}.${_API_VERSION_MINOR}.${_API_VERSION_PATCH}) + if (MSVC) set(CMAKE_C_FLAGS "/W4 /nologo ${CMAKE_C_FLAGS}") elseif (CMAKE_COMPILER_IS_GNUCC) @@ -285,9 +296,18 @@ if (BUILD_API_DOCS) endif () set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin) -set(libdir ${CMAKE_INSTALL_PREFIX}/lib) -set(includedir ${CMAKE_INSTALL_PREFIX}/include) +set(exec_prefix "\${prefix}") +set(libdir "\${exec_prefix}/lib") +set(includedir "\${prefix}/include") +set(libs_private ${SOCKET_LIBRARIES} ${LIBRT}) +if (ENABLE_SSL_SUPPORT) + if (SSL_ENGINE STREQUAL "OpenSSL") + set(requires_private "openssl") + endif() + if (ENABLE_THREAD_SAFETY) + set(libs_private ${libs_private} ${CMAKE_THREAD_LIBS_INIT}) + endif() +endif() configure_file(cmake/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq/config.h) configure_file(librabbitmq.pc.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc @ONLY) -- cgit v1.2.1 From eca2999c6d2cff644847b5fee9f9ec0c22702b98 Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Sun, 25 Aug 2013 20:42:28 -0700 Subject: Prep for v0.4.1 release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ff1af37..6f74ea0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # 4. If any interfaces have been removed since the last public release, then set age to 0. set(RMQ_SOVERSION_CURRENT 2) -set(RMQ_SOVERSION_REVISION 0) +set(RMQ_SOVERSION_REVISION 1) set(RMQ_SOVERSION_AGE 1) math(EXPR RMQ_SOVERSION_MAJOR "${RMQ_SOVERSION_CURRENT} - ${RMQ_SOVERSION_AGE}") -- cgit v1.2.1 From 5ea6a0945accfc8b52023aa82f0002b19c122bac Mon Sep 17 00:00:00 2001 From: Viacheslav Dubrovskyi Date: Fri, 27 Sep 2013 12:46:08 +0300 Subject: Fixed the library path for the x86_64 architecture --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f74ea0..5c849bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -297,7 +297,7 @@ endif () set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix "\${prefix}") -set(libdir "\${exec_prefix}/lib") +set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}") set(includedir "\${prefix}/include") set(libs_private ${SOCKET_LIBRARIES} ${LIBRT}) if (ENABLE_SSL_SUPPORT) @@ -314,7 +314,7 @@ configure_file(librabbitmq.pc.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc @ONL install(FILES ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig ) if (BUILD_SHARED_LIBS) -- cgit v1.2.1 From 1594ea4dea05dfa26fabac80732aa4734f59e1bb Mon Sep 17 00:00:00 2001 From: woldan Date: Mon, 28 Oct 2013 18:34:17 +0100 Subject: Switched to CMAKE_CURRENT_.. variants for source and binary dirs to enable nested builds. --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c849bd..fe7db10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,15 +283,15 @@ if (BUILD_API_DOCS) if (NOT DOXYGEN_FOUND) message(FATAL_ERROR "Doxygen is required to build the API documentation") endif () - configure_file(${CMAKE_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_BINARY_DIR}/docs/Doxyfile @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile @ONLY) add_custom_target(docs COMMAND ${DOXYGEN_EXECUTABLE} VERBATIM - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/docs + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs DEPENDS rabbitmq COMMENT "Generating API documentation" - SOURCES ${CMAKE_SOURCE_DIR}/docs/Doxyfile.in + SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ) endif () -- cgit v1.2.1 From bcda3e933dab5bf5d485a2cdff49c4091295595c Mon Sep 17 00:00:00 2001 From: Michael Fladischer Date: Mon, 4 Nov 2013 13:39:31 +0100 Subject: Use CMAKE_INSTALL_* variables provided by GNUInstallDirs. --- CMakeLists.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index fe7db10..ec28803 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,6 +56,7 @@ include(CheckFunctionExists) include(CheckSymbolExists) include(CheckLibraryExists) include(CMakePushCheckState) +include(GNUInstallDirs) # Detect if we need to link against a socket library: cmake_push_check_state() @@ -295,10 +296,6 @@ if (BUILD_API_DOCS) ) endif () -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix "\${prefix}") -set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}") -set(includedir "\${prefix}/include") set(libs_private ${SOCKET_LIBRARIES} ${LIBRT}) if (ENABLE_SSL_SUPPORT) if (SSL_ENGINE STREQUAL "OpenSSL") @@ -309,12 +306,17 @@ if (ENABLE_SSL_SUPPORT) endif() endif() +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix "\${prefix}") +set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") +set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + configure_file(cmake/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq/config.h) configure_file(librabbitmq.pc.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) if (BUILD_SHARED_LIBS) -- cgit v1.2.1 From 2ee29e52766b79902a1af62b7fcca86833cfd48e Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Wed, 29 Jan 2014 22:10:23 -0800 Subject: Preparation for v0.5.0 release --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ec28803..a51d056 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,9 +12,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # 3. If any interfaces have been added since the last public release, then increment age. # 4. If any interfaces have been removed since the last public release, then set age to 0. -set(RMQ_SOVERSION_CURRENT 2) -set(RMQ_SOVERSION_REVISION 1) -set(RMQ_SOVERSION_AGE 1) +set(RMQ_SOVERSION_CURRENT 3) +set(RMQ_SOVERSION_REVISION 0) +set(RMQ_SOVERSION_AGE 2) math(EXPR RMQ_SOVERSION_MAJOR "${RMQ_SOVERSION_CURRENT} - ${RMQ_SOVERSION_AGE}") math(EXPR RMQ_SOVERSION_MINOR "${RMQ_SOVERSION_AGE}") -- cgit v1.2.1