From 478ebadd640864d0e55314f57e56665b7d6a6dac Mon Sep 17 00:00:00 2001 From: Nick Black Date: Thu, 28 May 2020 17:24:11 -0400 Subject: [PATCH] Revert "Change DSO versioning scheme" This reverts commit 51205551f50d65994d54bfa19b2f61c26c91af17. --- CMakeLists.txt | 52 ++++++++-------------------------- tools/notcurses++.pc.in | 6 ++-- tools/notcurses.pc.in | 4 +-- tools/notcursesConfig.cmake.in | 2 +- tools/setup.py.in | 2 +- 5 files changed, 19 insertions(+), 47 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 88a1223fb..7fc1c5c87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,38 +1,8 @@ cmake_minimum_required(VERSION 3.14) - -# Shared library versioning is done in the same way as SDL: -# -# If the version changes, then: -# -# NOTCURSES_VERSION_MICRO += 1; -# NOTCURSES_INTERFACE_AGE += 1; -# NOTCURSES_BINARY_AGE += 1; -# if any functions/classes/methods have been added, set NOTCURSES_INTERFACE_AGE to 0. -# if backwards compatibility has been broken, -# set NOTCURSES_BINARY_AGE and NOTCURSES_INTERFACE_AGE to 0. - -set(NOTCURSES_VERSION_MAJOR 1) -set(NOTCURSES_VERSION_MINOR 5) -set(NOTCURSES_VERSION_MICRO 0) - -set(NOTCURSES_INTERFACE_AGE 0) -set(NOTCURSES_BINARY_AGE 1) - -set(NOTCURSES_VERSION "${NOTCURSES_VERSION_MAJOR}.${NOTCURSES_VERSION_MINOR}.${NOTCURSES_VERSION_MICRO}") - -# Calculate a libtool-like version number (taken from SDL2 CMakeLists.txt) -math(EXPR LT_CURRENT "${NOTCURSES_VERSION_MICRO} - ${NOTCURSES_INTERFACE_AGE}") -math(EXPR LT_AGE "${NOTCURSES_BINARY_AGE} - ${NOTCURSES_INTERFACE_AGE}") -math(EXPR LT_MAJOR "${LT_CURRENT} - ${LT_AGE}") -set(LT_REVISION "${NOTCURSES_INTERFACE_AGE}") -set(LT_RELEASE "${NOTCURSES_VERSION_MAJOR}.${NOTCURSES_VERSION_MINOR}") -set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}") - -project(notcurses VERSION ${NOTCURSES_VERSION_MAJOR}.${NOTCURSES_VERSION_MINOR}.${NOTCURSES_VERSION_MICRO} +project(notcurses VERSION 1.4.3 DESCRIPTION "UI for modern terminal emulators" HOMEPAGE_URL "https://nick-black.com/dankwiki/index.php/notcurses" LANGUAGES C CXX) - set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_STANDARD 11) set(CMAKE_C_VISIBILITY_PRESET hidden) @@ -124,15 +94,17 @@ add_library(notcurses-static STATIC EXCLUDE_FROM_ALL ${NCSRCS}) endif() set_target_properties( notcurses-static PROPERTIES - OUTPUT_NAME notcurses-${LT_RELEASE} + OUTPUT_NAME notcurses ) set_target_properties(notcurses PROPERTIES - VERSION ${NOTCURSES_VERSION} - SOVERSION ${LT_REVISION} - OUTPUT_NAME notcurses-${LT_RELEASE} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} +) +set_target_properties(notcurses-static PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} ) - target_include_directories(notcurses PRIVATE include @@ -267,14 +239,14 @@ add_library(notcurses++-static STATIC EXCLUDE_FROM_ALL ${NCPP_SOURCES}) endif() set_target_properties( notcurses++-static PROPERTIES - OUTPUT_NAME notcurses++-${LT_RELEASE} + OUTPUT_NAME notcurses++ ) set_target_properties( notcurses++ PROPERTIES - VERSION ${NOTCURSES_VERSION} - SOVERSION ${LT_REVISION} - OUTPUT_NAME notcurses++-${LT_RELEASE}) + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} + OUTPUT_NAME "notcurses++") set(NCPP_INCLUDE_DIRS include diff --git a/tools/notcurses++.pc.in b/tools/notcurses++.pc.in index be515e4a3..42fa811ea 100644 --- a/tools/notcurses++.pc.in +++ b/tools/notcurses++.pc.in @@ -5,8 +5,8 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: @PROJECT_NAME@ Description: C++ bindings for notcurses -Version: @NOTCURSES_VERSION@ +Version: @PROJECT_VERSION@ -Requires: notcurses = @NOTCURSES_VERSION@ -Libs: -L${libdir} -lnotcurses++-@LT_RELEASE@ +Requires: notcurses >= @PROJECT_VERSION@ +Libs: -L${libdir} -lnotcurses++ Cflags: -I${includedir} diff --git a/tools/notcurses.pc.in b/tools/notcurses.pc.in index 2dcfdd57e..367523693 100644 --- a/tools/notcurses.pc.in +++ b/tools/notcurses.pc.in @@ -5,8 +5,8 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: @PROJECT_NAME@ Description: TUI library for modern terminal emulators -Version: @NOTCURSES_VERSION@ +Version: @PROJECT_VERSION@ Requires: -Libs: -L${libdir} -lnotcurses-@LT_RELEASE@ +Libs: -L${libdir} -lnotcurses Cflags: -I${includedir} diff --git a/tools/notcursesConfig.cmake.in b/tools/notcursesConfig.cmake.in index af97b0568..ebce9204c 100644 --- a/tools/notcursesConfig.cmake.in +++ b/tools/notcursesConfig.cmake.in @@ -6,4 +6,4 @@ get_filename_component(NOTCURSES_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(NOTCURSES_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") set(NOTCURSES_LIBRARY_DIRS "@CONF_LIBRARY_DIRS@") -set(notcurses_LIBRARIES -lnotcurses-@LT_RELEASE@) +set(notcurses_LIBRARIES -lnotcurses) diff --git a/tools/setup.py.in b/tools/setup.py.in index a29bb2647..9b08d936b 100644 --- a/tools/setup.py.in +++ b/tools/setup.py.in @@ -6,7 +6,7 @@ def read(fname): setup( name="notcurses", - version="${NOTCURSES_VERSION}", + version="${PROJECT_VERSION}", packages=['notcurses'], package_dir={ '': '${CMAKE_CURRENT_BINARY_DIR}/python/src' }, author="Nick Black",