diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b3b5029..4de5f89b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,9 @@ cmake_minimum_required(VERSION 3.24) cmake_policy(SET CMP0135 NEW) cmake_policy(SET CMP0144 NEW) -project(${PROJECT_NAME}) +project(${PROJECT_NAME} + VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION} +) include(CheckIncludeFileCXX) include(CheckIncludeFiles) @@ -22,7 +24,6 @@ include(cmake/libraries.cmake) if(PROJECT_BUILD) unset(PROJECT_GIT_REV CACHE) - unset(PROJECT_VERSION CACHE) execute_process( COMMAND git rev-parse --short HEAD @@ -52,7 +53,6 @@ if(PROJECT_BUILD) @ONLY ) - file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/version.sh "export PROJECT_VERSION=${PROJECT_VERSION}") file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/git_rev.sh "export PROJECT_GIT_REV=${PROJECT_GIT_REV}") else() message(STATUS "-=[CMake Settings]=-") @@ -117,10 +117,16 @@ endif() -DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} -DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX} -DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE} + -DPROJECT_MAJOR_VERSION=${PROJECT_MAJOR_VERSION} + -DPROJECT_MINOR_VERSION=${PROJECT_MINOR_VERSION} -DPROJECT_NAME=${PROJECT_NAME} + -DPROJECT_RELEASE_ITER=${PROJECT_RELEASE_ITER} + -DPROJECT_RELEASE_NUM=${PROJECT_RELEASE_NUM} -DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} + -DPROJECT_REVISION_VERSION=${PROJECT_REVISION_VERSION} -DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK} -DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE} -DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON} + -DPROJECT_VERSION=${PROJECT_VERSION} ) endif() diff --git a/config.sh b/config.sh index 56d7956c..4f3e9963 100755 --- a/config.sh +++ b/config.sh @@ -1,6 +1,13 @@ #!/bin/bash PROJECT_NAME="repertory" + +PROJECT_MAJOR_VERSION=2 +PROJECT_MINOR_VERSION=0 +PROJECT_REVISION_VERSION=2 +PROJECT_RELEASE_NUM=0 +PROJECT_RELEASE_ITER=rc + PROJECT_APP_LIST=(${PROJECT_NAME}) PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY} diff --git a/project.cmake b/project.cmake index 21bb6557..beca1d60 100644 --- a/project.cmake +++ b/project.cmake @@ -1,15 +1,7 @@ -set(REPERTORY_MAJOR 2) -set(REPERTORY_MINOR 0) -set(REPERTORY_REV 2) -set(REPERTORY_RELEASE_NUM 0) -set(REPERTORY_RELEASE_ITER rc) - -set(PROJECT_VERSION ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}-${REPERTORY_RELEASE_ITER}) - -set(REPERTORY_VER_FILEVERSION ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM}) -set(REPERTORY_VER_FILEVERSION_STR ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}.${REPERTORY_RELEASE_NUM}) -set(REPERTORY_VER_PRODUCTVERSION ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM}) -set(REPERTORY_VER_PRODUCTVERSION_STR ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}.${REPERTORY_RELEASE_NUM}) +set(REPERTORY_VER_FILEVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM}) +set(REPERTORY_VER_FILEVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM}) +set(REPERTORY_VER_PRODUCTVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM}) +set(REPERTORY_VER_PRODUCTVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM}) set(REPERTORY_VER_PRERELEASE VS_FF_PRERELEASE) set(REPERTORY_VER_COMPANYNAME_STR "https://git.fifthgrid.com/blockstorage") set(REPERTORY_VER_LEGALCOPYRIGHT_STR "Copyright <2018-2024> ") diff --git a/scripts/env.sh b/scripts/env.sh index bd6229dd..5f661934 100755 --- a/scripts/env.sh +++ b/scripts/env.sh @@ -58,6 +58,7 @@ if [ "${PROJECT_IS_MINGW_UNIX}" == "" ]; then fi . "${SOURCE_DIR}/config.sh" +PROJECT_VERSION=${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}-${PROJECT_RELEASE_ITER} if [ "${PROJECT_ENABLE_SFML}" == "ON" ]; then PROJECT_ENABLE_FLAC=ON @@ -216,6 +217,12 @@ PROJECT_CMAKE_OPTS="-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} ${PROJECT PROJECT_CMAKE_OPTS="-DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK} ${PROJECT_CMAKE_OPTS}" PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE} ${PROJECT_CMAKE_OPTS}" PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_MAJOR_VERSION=${PROJECT_MAJOR_VERSION} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_MINOR_VERSION=${PROJECT_MINOR_VERSION} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_REVISION_VERSION=${PROJECT_REVISION_VERSION} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_RELEASE_NUM=${PROJECT_RELEASE_NUM} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_RELEASE_ITER=${PROJECT_RELEASE_ITER} ${PROJECT_CMAKE_OPTS}" +PROJECT_CMAKE_OPTS="-DPROJECT_VERSION=${PROJECT_VERSION} ${PROJECT_CMAKE_OPTS}" for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY} @@ -257,17 +264,23 @@ export PROJECT_IS_ARM64 export PROJECT_IS_MINGW export PROJECT_IS_MINGW_UNIX export PROJECT_LINK_TYPE +export PROJECT_MAJOR_VERSION export PROJECT_MINGW64_COPY_DEPENDENCIES export PROJECT_MINGW64_DOCKER_BUILD_ARGS +export PROJECT_MINOR_VERSION export PROJECT_MSYS2_PACKAGE_LIST export PROJECT_NAME export PROJECT_OS export PROJECT_PRIVATE_KEY export PROJECT_PUBLIC_KEY +export PROJECT_RELEASE_ITER +export PROJECT_RELEASE_NUM export PROJECT_REQUIRE_ALPINE +export PROJECT_REVISION_VERSION export PROJECT_STATIC_LINK export PROJECT_TOOLCHAIN_FILE_CMAKE export PROJECT_TOOLCHAIN_FILE_MESON +export PROJECT_VERSION export SOURCE_DIR for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do @@ -305,6 +318,7 @@ echo " Require Alpine: ${PROJECT_REQUIRE_ALPINE}" echo " Static link: ${PROJECT_STATIC_LINK}" echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}" echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}" +echo " Version: ${PROJECT_VERSION}" echo "-=[Libraries]=-" for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY} diff --git a/scripts/make_package.sh b/scripts/make_package.sh index 6289416d..4242a3ff 100755 --- a/scripts/make_package.sh +++ b/scripts/make_package.sh @@ -8,10 +8,6 @@ CURRENT_DIR=$(realpath ${CURRENT_DIR}) . "${CURRENT_DIR}/env.sh" "$2" "$3" "$4" "$5" "$6" -if [ -f "${CURRENT_DIR}/../build/version.sh" ]; then - source ${CURRENT_DIR}/../build/version.sh -fi - if [ -f "${CURRENT_DIR}/../build/git_rev.sh" ]; then source ${CURRENT_DIR}/../build/git_rev.sh fi @@ -22,11 +18,6 @@ function exit_and_clean() { exit $2 } -if [ "${PROJECT_VERSION}" == "" ]; then - echo "Project version not set" - exit 1 -fi - if [ "${PROJECT_GIT_REV}" == "" ]; then echo "Project git revision not set" exit 1