updated build system
This commit is contained in:
parent
b2aba8c447
commit
1d70309a16
@ -3,7 +3,9 @@ cmake_minimum_required(VERSION 3.24)
|
|||||||
cmake_policy(SET CMP0135 NEW)
|
cmake_policy(SET CMP0135 NEW)
|
||||||
cmake_policy(SET CMP0144 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(CheckIncludeFileCXX)
|
||||||
include(CheckIncludeFiles)
|
include(CheckIncludeFiles)
|
||||||
@ -22,7 +24,6 @@ include(cmake/libraries.cmake)
|
|||||||
|
|
||||||
if(PROJECT_BUILD)
|
if(PROJECT_BUILD)
|
||||||
unset(PROJECT_GIT_REV CACHE)
|
unset(PROJECT_GIT_REV CACHE)
|
||||||
unset(PROJECT_VERSION CACHE)
|
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND git rev-parse --short HEAD
|
COMMAND git rev-parse --short HEAD
|
||||||
@ -52,7 +53,6 @@ if(PROJECT_BUILD)
|
|||||||
@ONLY
|
@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}")
|
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/git_rev.sh "export PROJECT_GIT_REV=${PROJECT_GIT_REV}")
|
||||||
else()
|
else()
|
||||||
message(STATUS "-=[CMake Settings]=-")
|
message(STATUS "-=[CMake Settings]=-")
|
||||||
@ -117,10 +117,16 @@ endif()
|
|||||||
-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW}
|
-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW}
|
||||||
-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX}
|
-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX}
|
||||||
-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE}
|
-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE}
|
||||||
|
-DPROJECT_MAJOR_VERSION=${PROJECT_MAJOR_VERSION}
|
||||||
|
-DPROJECT_MINOR_VERSION=${PROJECT_MINOR_VERSION}
|
||||||
-DPROJECT_NAME=${PROJECT_NAME}
|
-DPROJECT_NAME=${PROJECT_NAME}
|
||||||
|
-DPROJECT_RELEASE_ITER=${PROJECT_RELEASE_ITER}
|
||||||
|
-DPROJECT_RELEASE_NUM=${PROJECT_RELEASE_NUM}
|
||||||
-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE}
|
-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE}
|
||||||
|
-DPROJECT_REVISION_VERSION=${PROJECT_REVISION_VERSION}
|
||||||
-DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK}
|
-DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK}
|
||||||
-DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE}
|
-DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE}
|
||||||
-DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON}
|
-DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON}
|
||||||
|
-DPROJECT_VERSION=${PROJECT_VERSION}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PROJECT_NAME="repertory"
|
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_APP_LIST=(${PROJECT_NAME})
|
||||||
|
|
||||||
PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY}
|
PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY}
|
||||||
|
@ -1,15 +1,7 @@
|
|||||||
set(REPERTORY_MAJOR 2)
|
set(REPERTORY_VER_FILEVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM})
|
||||||
set(REPERTORY_MINOR 0)
|
set(REPERTORY_VER_FILEVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM})
|
||||||
set(REPERTORY_REV 2)
|
set(REPERTORY_VER_PRODUCTVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM})
|
||||||
set(REPERTORY_RELEASE_NUM 0)
|
set(REPERTORY_VER_PRODUCTVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM})
|
||||||
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_PRERELEASE VS_FF_PRERELEASE)
|
set(REPERTORY_VER_PRERELEASE VS_FF_PRERELEASE)
|
||||||
set(REPERTORY_VER_COMPANYNAME_STR "https://git.fifthgrid.com/blockstorage")
|
set(REPERTORY_VER_COMPANYNAME_STR "https://git.fifthgrid.com/blockstorage")
|
||||||
set(REPERTORY_VER_LEGALCOPYRIGHT_STR "Copyright <2018-2024> <MIT License> <https://git.fifthgrid.com/blockstorage/repertory>")
|
set(REPERTORY_VER_LEGALCOPYRIGHT_STR "Copyright <2018-2024> <MIT License> <https://git.fifthgrid.com/blockstorage/repertory>")
|
||||||
|
@ -58,6 +58,7 @@ if [ "${PROJECT_IS_MINGW_UNIX}" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
. "${SOURCE_DIR}/config.sh"
|
. "${SOURCE_DIR}/config.sh"
|
||||||
|
PROJECT_VERSION=${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}-${PROJECT_RELEASE_ITER}
|
||||||
|
|
||||||
if [ "${PROJECT_ENABLE_SFML}" == "ON" ]; then
|
if [ "${PROJECT_ENABLE_SFML}" == "ON" ]; then
|
||||||
PROJECT_ENABLE_FLAC=ON
|
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_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_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_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
|
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||||
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
|
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
|
||||||
@ -257,17 +264,23 @@ export PROJECT_IS_ARM64
|
|||||||
export PROJECT_IS_MINGW
|
export PROJECT_IS_MINGW
|
||||||
export PROJECT_IS_MINGW_UNIX
|
export PROJECT_IS_MINGW_UNIX
|
||||||
export PROJECT_LINK_TYPE
|
export PROJECT_LINK_TYPE
|
||||||
|
export PROJECT_MAJOR_VERSION
|
||||||
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
||||||
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
||||||
|
export PROJECT_MINOR_VERSION
|
||||||
export PROJECT_MSYS2_PACKAGE_LIST
|
export PROJECT_MSYS2_PACKAGE_LIST
|
||||||
export PROJECT_NAME
|
export PROJECT_NAME
|
||||||
export PROJECT_OS
|
export PROJECT_OS
|
||||||
export PROJECT_PRIVATE_KEY
|
export PROJECT_PRIVATE_KEY
|
||||||
export PROJECT_PUBLIC_KEY
|
export PROJECT_PUBLIC_KEY
|
||||||
|
export PROJECT_RELEASE_ITER
|
||||||
|
export PROJECT_RELEASE_NUM
|
||||||
export PROJECT_REQUIRE_ALPINE
|
export PROJECT_REQUIRE_ALPINE
|
||||||
|
export PROJECT_REVISION_VERSION
|
||||||
export PROJECT_STATIC_LINK
|
export PROJECT_STATIC_LINK
|
||||||
export PROJECT_TOOLCHAIN_FILE_CMAKE
|
export PROJECT_TOOLCHAIN_FILE_CMAKE
|
||||||
export PROJECT_TOOLCHAIN_FILE_MESON
|
export PROJECT_TOOLCHAIN_FILE_MESON
|
||||||
|
export PROJECT_VERSION
|
||||||
export SOURCE_DIR
|
export SOURCE_DIR
|
||||||
|
|
||||||
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||||
@ -305,6 +318,7 @@ echo " Require Alpine: ${PROJECT_REQUIRE_ALPINE}"
|
|||||||
echo " Static link: ${PROJECT_STATIC_LINK}"
|
echo " Static link: ${PROJECT_STATIC_LINK}"
|
||||||
echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}"
|
echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}"
|
||||||
echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}"
|
echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}"
|
||||||
|
echo " Version: ${PROJECT_VERSION}"
|
||||||
echo "-=[Libraries]=-"
|
echo "-=[Libraries]=-"
|
||||||
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||||
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
|
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
|
||||||
|
@ -8,10 +8,6 @@ CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
|||||||
|
|
||||||
. "${CURRENT_DIR}/env.sh" "$2" "$3" "$4" "$5" "$6"
|
. "${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
|
if [ -f "${CURRENT_DIR}/../build/git_rev.sh" ]; then
|
||||||
source ${CURRENT_DIR}/../build/git_rev.sh
|
source ${CURRENT_DIR}/../build/git_rev.sh
|
||||||
fi
|
fi
|
||||||
@ -22,11 +18,6 @@ function exit_and_clean() {
|
|||||||
exit $2
|
exit $2
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "${PROJECT_VERSION}" == "" ]; then
|
|
||||||
echo "Project version not set"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${PROJECT_GIT_REV}" == "" ]; then
|
if [ "${PROJECT_GIT_REV}" == "" ]; then
|
||||||
echo "Project git revision not set"
|
echo "Project git revision not set"
|
||||||
exit 1
|
exit 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user