updated build system

This commit is contained in:
Scott E. Graves 2024-07-17 12:22:44 -05:00
parent 6ab7386a79
commit 939742a991
5 changed files with 19 additions and 10 deletions

View File

@ -4,6 +4,8 @@ cmake_policy(SET CMP0135 NEW)
cmake_policy(SET CMP0144 NEW) cmake_policy(SET CMP0144 NEW)
project(${PROJECT_NAME} project(${PROJECT_NAME}
DESCRIPTION ${PROJECT_DESC}
HOMEPAGE_URL ${PROJECT_URL}
VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION} VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}
) )
@ -84,7 +86,7 @@ endif()
-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE} -DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE}
-DPROJECT_COMPANY_NAME=${PROJECT_COMPANY_NAME} -DPROJECT_COMPANY_NAME=${PROJECT_COMPANY_NAME}
-DPROJECT_COPYRIGHT=${PROJECT_COPYRIGHT} -DPROJECT_COPYRIGHT=${PROJECT_COPYRIGHT}
-DPROJECT_DESCRIPTION=${PROJECT_DESCRIPTION} -DPROJECT_DESC=${PROJECT_DESC}
-DPROJECT_DIST_DIR=${PROJECT_DIST_DIR} -DPROJECT_DIST_DIR=${PROJECT_DIST_DIR}
-DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST} -DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST}
-DPROJECT_ENABLE_CLI11=${PROJECT_ENABLE_CLI11} -DPROJECT_ENABLE_CLI11=${PROJECT_ENABLE_CLI11}
@ -138,5 +140,6 @@ endif()
-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_URL=${PROJECT_URL}
) )
endif() endif()

View File

@ -2,9 +2,11 @@
PROJECT_NAME="repertory" PROJECT_NAME="repertory"
PROJECT_COPYRIGHT="Copyright <2018-2024> <MIT License> <https://git.fifthgrid.com/blockstorage/repertory>" PROJECT_URL="https://git.fifthgrid.com/blockstorage/repertory"
PROJECT_COMPANY_NAME="https://git.fifthgrid.com/blockstorage" PROJECT_COMPANY_NAME="https://git.fifthgrid.com/blockstorage"
PROJECT_DESCRIPTION="Mount utility for Sia and S3" PROJECT_COPYRIGHT="Copyright <2018-2024> <MIT License> <${PROJECT_URL}>"
PROJECT_DESC="Mount utility for Sia and S3"
PROJECT_MAJOR_VERSION=2 PROJECT_MAJOR_VERSION=2
PROJECT_MINOR_VERSION=0 PROJECT_MINOR_VERSION=0

View File

@ -11,7 +11,7 @@
#define VER_ORIGINALFILENAME_STR "@PROJECT_NAME@.exe\0" #define VER_ORIGINALFILENAME_STR "@PROJECT_NAME@.exe\0"
#define VER_LEGALTRADEMARKS1_STR "\0" #define VER_LEGALTRADEMARKS1_STR "\0"
#define VER_LEGALTRADEMARKS2_STR "\0" #define VER_LEGALTRADEMARKS2_STR "\0"
#define VER_FILEDESCRIPTION_STR "@PROJECT_DESCRIPTION@\0" #define VER_FILEDESCRIPTION_STR "@PROJECT_DESC@\0"
#define VER_PRODUCTNAME_STR "@PROJECT_NAME@ @PROJECT_MAJOR_VERSION@.@PROJECT_MINOR_VERSION@.@PROJECT_REVISION_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0" #define VER_PRODUCTNAME_STR "@PROJECT_NAME@ @PROJECT_MAJOR_VERSION@.@PROJECT_MINOR_VERSION@.@PROJECT_REVISION_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
#ifdef DEBUG #ifdef DEBUG

View File

@ -263,7 +263,7 @@ export PROJECT_CMAKE_BUILD_TYPE_LOWER
export PROJECT_CMAKE_OPTS export PROJECT_CMAKE_OPTS
export PROJECT_COMPANY_NAME export PROJECT_COMPANY_NAME
export PROJECT_COPYRIGHT export PROJECT_COPYRIGHT
export PROJECT_DESCRIPTION export PROJECT_DESC
export PROJECT_DIST_DIR export PROJECT_DIST_DIR
export PROJECT_GIT_REV export PROJECT_GIT_REV
export PROJECT_IS_ALPINE export PROJECT_IS_ALPINE
@ -287,6 +287,7 @@ 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_URL
export SOURCE_DIR export SOURCE_DIR
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
@ -302,12 +303,12 @@ echo " Build arch: ${PROJECT_BUILD_ARCH}"
echo " Build clean: ${PROJECT_BUILD_CLEAN}" echo " Build clean: ${PROJECT_BUILD_CLEAN}"
echo " Build dir: ${PROJECT_BUILD_DIR}" echo " Build dir: ${PROJECT_BUILD_DIR}"
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}" echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
echo " CMake options: -G\"Unix Makefiles\" ${PROJECT_CMAKE_OPTS} -DPROJECT_COMPANY_NAME=\"${PROJECT_COMPANY_NAME}\" -DPROJECT_COPYRIGHT=\"${PROJECT_COPYRIGHT}\" -DPROJECT_DESCRIPTION=\"${PROJECT_DESCRIPTION}\"" echo " CMake options: -G\"Unix Makefiles\" -DPROJECT_COMPANY_NAME=\"${PROJECT_COMPANY_NAME}\" -DPROJECT_COPYRIGHT=\"${PROJECT_COPYRIGHT}\" -DPROJECT_DESC=\"${PROJECT_DESC}\" -DPROJECT_URL=\"${PROJECT_URL}\" ${PROJECT_CMAKE_OPTS} "
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}" echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}" echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
echo " Company name: ${PROJECT_COMPANY_NAME}" echo " Company name: ${PROJECT_COMPANY_NAME}"
echo " Copyright: ${PROJECT_COPYRIGHT}" echo " Copyright: ${PROJECT_COPYRIGHT}"
echo " Description: ${PROJECT_DESCRIPTION}" echo " Description: ${PROJECT_DESC}"
echo " Dist dir: ${PROJECT_DIST_DIR}" echo " Dist dir: ${PROJECT_DIST_DIR}"
echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}" echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}"
echo " Is ARM64: ${PROJECT_IS_ARM64}" echo " Is ARM64: ${PROJECT_IS_ARM64}"
@ -327,6 +328,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 " URL: ${PROJECT_URL}"
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}

View File

@ -21,11 +21,13 @@ if [ "${PROJECT_IS_MINGW}" == "1" ]; then
fi fi
pushd "${PROJECT_BUILD_DIR}" pushd "${PROJECT_BUILD_DIR}"
cmake "${SOURCE_DIR}" -G"Unix Makefiles" ${PROJECT_CMAKE_OPTS} \ cmake "${SOURCE_DIR}" \
-G"Unix Makefiles" \
-DPROJECT_COMPANY_NAME="${PROJECT_COMPANY_NAME}" \ -DPROJECT_COMPANY_NAME="${PROJECT_COMPANY_NAME}" \
-DPROJECT_COPYRIGHT="${PROJECT_COPYRIGHT}" \ -DPROJECT_COPYRIGHT="${PROJECT_COPYRIGHT}" \
-DPROJECT_DESCRIPTION="${PROJECT_DESCRIPTION}" || -DPROJECT_DESC="${PROJECT_DESC}" \
exit 1 -DPROJECT_URL="${PROJECT_URL}" \
${PROJECT_CMAKE_OPTS} || exit 1
if [ "${PROJECT_BUILD_CLEAN}" == "clean" ]; then if [ "${PROJECT_BUILD_CLEAN}" == "clean" ]; then
make clean make clean