mirror of
https://github.com/louisrubet/rpn
synced 2025-01-30 20:34:30 +01:00
Merge pull request #238 from louisrubet/#218/git_version_as_rpn_version
git tag used as rpn version
This commit is contained in:
commit
505c3bd986
18 changed files with 40 additions and 42 deletions
|
@ -1,9 +1,9 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
project(rpn)
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
if((NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
AND (NOT CMAKE_BUILD_TYPE MATCHES Release))
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release" FORCE)
|
||||
|
@ -11,12 +11,37 @@ endif()
|
|||
|
||||
message(STATUS "Build mode: ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND git rev-parse --abbrev-ref --short=10 HEAD
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE "BRANCH")
|
||||
MESSAGE( STATUS "Source Git Branch: ${GIT_BRANCH}" )
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND git describe --dirty --tags --long --always
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE "TAG"
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
MESSAGE( STATUS "Source Git Tag: ${GIT_TAG}" )
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND echo ${TAG}-${BRANCH}
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE "GIT_VERSION"
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
MESSAGE( STATUS "Source Git version: ${GIT_VERSION}" )
|
||||
add_definitions(-DGIT_VERSION="${GIT_VERSION}")
|
||||
else(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
||||
add_definitions(-DGIT_VERSION="unknown")
|
||||
message("Warning, built outside of a git repo, version set to ${GIT_VERSION}")
|
||||
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
||||
|
||||
# INFO
|
||||
set(RPN_VERSION "2.4")
|
||||
set(RPN_DISPLAY_NAME "rpn")
|
||||
set(RPN_URL_INFO_ABOUT "https://github.com/louisrubet/rpn")
|
||||
set(RPN_CONTACT "Louis Rubet <louis@rubet.fr>")
|
||||
set(RPN_FRIENDLY_STRING "rpn - Reverse Polish Notation math language")
|
||||
set(RPN_FRIENDLY_STRING "Reverse Polish Notation math language")
|
||||
set(RPN_LICENSE "LGPLv3")
|
||||
set(RPN_LICENSE_FILE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
set(RPN_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.md")
|
||||
|
@ -33,16 +58,16 @@ endif()
|
|||
|
||||
# custom linenoise-ng
|
||||
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/linenoise-ng/.git")
|
||||
execute_process(COMMAND git submodule init ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
execute_process(COMMAND git submodule update ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
execute_process(COMMAND git checkout v1.1.1-rpn WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
execute_process(command git submodule init ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
execute_process(command git submodule update ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
execute_process(command git checkout v1.1.1-rpn WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/linenoise-ng)
|
||||
endif()
|
||||
|
||||
# custom mpreal
|
||||
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/mpreal/.git")
|
||||
execute_process(COMMAND git submodule init ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
execute_process(COMMAND git submodule update ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
execute_process(COMMAND git checkout mpfrc++-3.6.9 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
execute_process(command git submodule init ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
execute_process(command git submodule update ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
execute_process(command git checkout mpfrc++-3.6.9 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/mpreal)
|
||||
endif()
|
||||
|
||||
# includes
|
||||
|
@ -74,45 +99,17 @@ add_executable(
|
|||
${PROJECT_SOURCE_DIR}/linenoise-ng/src/linenoise.cpp
|
||||
${PROJECT_SOURCE_DIR}/linenoise-ng/src/wcwidth.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(rpn mpfr)
|
||||
target_link_libraries(rpn gmp)
|
||||
|
||||
# man
|
||||
add_custom_target(man ALL)
|
||||
add_custom_command(
|
||||
TARGET man
|
||||
COMMAND gzip -f -k ${CMAKE_CURRENT_SOURCE_DIR}/doc/rpn.1
|
||||
OUTPUTS ${CMAKE_CURRENT_SOURCE_DIR}/doc/rpn.1.gz
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/doc/rpn.1.gz
|
||||
COMMAND gzip -f -k ${PROJECT_SOURCE_DIR}/doc/rpn.1
|
||||
)
|
||||
|
||||
# install
|
||||
install(TARGETS rpn DESTINATION bin)
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/doc/rpn.1.gz DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1)
|
||||
|
||||
# packages (common variables for all packages)
|
||||
set(CPACK_PACKAGE_NAME ${RPN_DISPLAY_NAME})
|
||||
set(CPACK_PACKAGE_VENDOR ${RPN_CONTACT})
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${RPN_FRIENDLY_STRING})
|
||||
set(CPACK_PACKAGE_DESCRIPTION ${RPN_FRIENDLY_STRING})
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE ${RPN_DESCRIPTION_FILE})
|
||||
set(CPACK_RESOURCE_FILE_LICENSE ${RPN_LICENSE_FILE})
|
||||
set(CPACK_RESOURCE_FILE_README ${RPN_DESCRIPTION_FILE})
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${RPN_DISPLAY_NAME}-${RPN_VERSION}-amd64")
|
||||
set(CPACK_PACKAGE_VERSION ${RPN_VERSION})
|
||||
#set(CPACK_PACKAGE_RELEASE 0)
|
||||
set(CPACK_PACKAGE_CONTACT ${RPN_CONTACT})
|
||||
set(CPACK_PACKAGE_LICENSE ${RPN_LICENSE})
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
# DEB package
|
||||
set(CPACK_GENERATOR "DEB;RPM;TGZ")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${RPN_CONTACT})
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${SYSTEM_PROCESSOR})
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "math")
|
||||
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
||||
|
||||
include(CPack)
|
||||
|
||||
# RPM package
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "mpfr")
|
||||
|
|
|
@ -22,6 +22,7 @@ Changelog
|
|||
- Test files are now markdown (.md) files, tests result are slightly changed
|
||||
- Delivery as flatpak and snap
|
||||
- error string are slightly different, althought error codes are still the same
|
||||
- automatic version string from git, slightly change from previous versions
|
||||
|
||||
New
|
||||
- `«` and `»` are now valid as program delimiters. `<<` and `>>` are still valid
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -3,7 +3,7 @@
|
|||
#ifndef SRC_VERSION_H_
|
||||
#define SRC_VERSION_H_
|
||||
|
||||
#define RPN_VERSION "2.4"
|
||||
#define RPN_VERSION GIT_VERSION // set by cmake from git tag
|
||||
#define RPN_UNAME "rpn v" RPN_VERSION ", (c) 2017 <louis@rubet.fr>, GNU LGPL v3"
|
||||
|
||||
#endif // SRC_VERSION_H_
|
||||
|
|
Loading…
Add table
Reference in a new issue