diff --git a/CMakeLists.txt b/CMakeLists.txt index 12e52f7c6838493fb1e4ab528a3225f9b299f046..68594813ec702c994626d033fd1e62028eca869b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR) project(OpenStructure CXX C) +set (OST_VERSION_MAJOR 1) +set (OST_VERSION_MINOR 2) +set (OST_VERSION_PATCH 0) +set (OST_VERSION_STRING ${OST_VERSION_MAJOR}.${OST_VERSION_MINOR}.${OST_VERSION_PATCH} ) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake_support) include(OST) diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake index f392eb87efd7054720015ac739ed908bec5c1571..1eac2a3497b965afdb16ec976e482f5877358e8c 100644 --- a/cmake_support/OST.cmake +++ b/cmake_support/OST.cmake @@ -187,6 +187,9 @@ macro(module) get_target_property(_DEFS ${_LIB_NAME} COMPILE_DEFINITIONS) set_target_properties(${_LIB_NAME} PROPERTIES COMPILE_DEFINITIONS OST_MODULE_${_UPPER_LIB_NAME}) + set_target_properties(${_LIB_NAME} PROPERTIES + VERSION ${OST_VERSION_STRING} + SOVERSION ${OST_VERSION_MAJOR}) set_target_properties(${_LIB_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${LIB_STAGE_PATH} ARCHIVE_OUTPUT_DIRECTORY ${LIB_STAGE_PATH} diff --git a/modules/config/CMakeLists.txt b/modules/config/CMakeLists.txt index 65c9ca6bebf69a4def544c5c58dfc50be04ee98d..753a981903db6543eed7a9927450a7295293c6fa 100644 --- a/modules/config/CMakeLists.txt +++ b/modules/config/CMakeLists.txt @@ -1,3 +1,6 @@ +set(SUBST_DICT OST_VERSION_MAJOR=${OST_VERSION_MAJOR} OST_VERSION_MINOR=${OST_VERSION_MINOR} + OST_VERSION_PATCH=${OST_VERSION_PATCH}) + set(OST_CONFIG_HEADERS base.hh config.hh @@ -57,7 +60,9 @@ endif() set(config_hh_generator "CMake") set(CONFIG_HH_FILE "${CMAKE_CURRENT_SOURCE_DIR}/config.hh") +set(VERSION_HH_FILE "${CMAKE_CURRENT_SOURCE_DIR}/version.hh") configure_file(config.hh.in ${CONFIG_HH_FILE}) +configure_file(version.hh.in ${VERSION_HH_FILE}) add_custom_target(ost_config) stage_headers("${OST_CONFIG_HEADERS}" "ost" "ost_config" "" "ost") diff --git a/modules/config/version.hh b/modules/config/version.hh.in similarity index 85% rename from modules/config/version.hh rename to modules/config/version.hh.in index c2c019aed425009563f897d8c8ea9bd9e16a62f9..94948475f862b2876ccdd459638f8c781735f784 100644 --- a/modules/config/version.hh +++ b/modules/config/version.hh.in @@ -19,9 +19,9 @@ #ifndef OST_VERSION_HH_ #define OST_VERSION_HH_ -#define OST_VERSION_MAJOR 1 -#define OST_VERSION_MINOR 2 -#define OST_VERSION_PATCH 0 -#define OST_VERSION_STRING "1.2.0" +#define OST_VERSION_MAJOR @OST_VERSION_MAJOR@ +#define OST_VERSION_MINOR @OST_VERSION_MINOR@ +#define OST_VERSION_PATCH @OST_VERSION_PATCH@ +#define OST_VERSION_STRING "@OST_VERSION_STRING@" #endif /* OST_VERSION_HH_ */