diff --git a/CMakeLists.txt b/CMakeLists.txt index 1148e8ed..5d16aa74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,20 +17,30 @@ # Note: on OS X you should install XCode and the associated command-line tools -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) -PROJECT("Eclipse Paho C" C) +CMAKE_MINIMUM_REQUIRED(VERSION 3.5) +PROJECT("Eclipse Paho C" + VERSION 1.3.13 + LANGUAGES C +) + MESSAGE(STATUS "CMake version: " ${CMAKE_VERSION}) MESSAGE(STATUS "CMake system name: " ${CMAKE_SYSTEM_NAME}) SET(CMAKE_SCRIPTS "${CMAKE_SOURCE_DIR}/cmake") SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") -## build settings +## Project Version +## Previously we read in the version from these files, but now we use the +## CMake project setting. We just make sure the files and CMake match. file(READ version.major PAHO_VERSION_MAJOR) file(READ version.minor PAHO_VERSION_MINOR) file(READ version.patch PAHO_VERSION_PATCH) SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PATCH}) +if(NOT (CLIENT_VERSION VERSION_EQUAL PROJECT_VERSION)) + message(FATAL_ERROR "CMake project version does NOT match. CMake: ${PROJECT_VERSION}, Files: ${CLIENT_VERSION}") +endif() + INCLUDE(GNUInstallDirs) STRING(TIMESTAMP BUILD_TIMESTAMP UTC) @@ -116,9 +126,9 @@ ELSE() INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}) ENDIF() -SET(CPACK_PACKAGE_VERSION_MAJOR ${PAHO_VERSION_MAJOR}) -SET(CPACK_PACKAGE_VERSION_MINOR ${PAHO_VERSION_MINOR}) -SET(CPACK_PACKAGE_VERSION_PATCH ${PAHO_VERSION_PATCH}) +SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) +SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) +SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) INCLUDE(CPack) IF(PAHO_ENABLE_TESTING) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0f795b9a..65d4c53d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -110,8 +110,8 @@ IF (PAHO_BUILD_SHARED) SET_TARGET_PROPERTIES( paho-mqtt3c paho-mqtt3a PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1") IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") @@ -161,8 +161,8 @@ IF (PAHO_BUILD_STATIC) ENDIF() SET_TARGET_PROPERTIES( paho-mqtt3c-static paho-mqtt3a-static PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static) @@ -206,8 +206,8 @@ IF (PAHO_WITH_SSL) SET_TARGET_PROPERTIES( paho-mqtt3cs paho-mqtt3as PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1") IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") @@ -258,8 +258,8 @@ IF (PAHO_WITH_SSL) SET_TARGET_PROPERTIES( paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") IF (NOT WIN32) SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs)