updated build system
This commit is contained in:
parent
b1a7632536
commit
8757b47b35
@ -3,8 +3,7 @@ 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)
|
||||||
|
|
||||||
include(project_name.cmake)
|
project(%PROJECT_NAME%)
|
||||||
project(${PROJECT_NAME})
|
|
||||||
|
|
||||||
include(CheckIncludeFileCXX)
|
include(CheckIncludeFileCXX)
|
||||||
include(CheckIncludeFiles)
|
include(CheckIncludeFiles)
|
||||||
|
@ -3,7 +3,7 @@ if(NOT PROJECT_BUILD AND PROJECT_ENABLE_TESTING)
|
|||||||
ExternalProject_Add(gtest_project
|
ExternalProject_Add(gtest_project
|
||||||
PREFIX external
|
PREFIX external
|
||||||
URL ${PROJECT_3RD_PARTY_DIR}/googletest-${GTEST_VERSION}.tar.gz
|
URL ${PROJECT_3RD_PARTY_DIR}/googletest-${GTEST_VERSION}.tar.gz
|
||||||
URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7
|
URL_HASH SHA256=7315acb6bf10e99f332c8a43f00d5fbb1ee6ca48c52f6b936991b216c586aaad
|
||||||
LIST_SEPARATOR |
|
LIST_SEPARATOR |
|
||||||
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
|
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
|
||||||
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
|
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
|
||||||
|
@ -15,7 +15,7 @@ set(FMT_VERSION 10.2.1)
|
|||||||
set(FONTCONFIG_VERSION 2.15.0)
|
set(FONTCONFIG_VERSION 2.15.0)
|
||||||
set(FREETYPE2_VERSION 2.13.2)
|
set(FREETYPE2_VERSION 2.13.2)
|
||||||
set(GCC_VERSION 13.2.0)
|
set(GCC_VERSION 13.2.0)
|
||||||
set(GTEST_VERSION 1.14.0)
|
set(GTEST_VERSION 1.15.0)
|
||||||
set(GTKMM_VERSION 3.0)
|
set(GTKMM_VERSION 3.0)
|
||||||
set(ICU_VERSION 75-1)
|
set(ICU_VERSION 75-1)
|
||||||
set(JSON_VERSION 3.11.3)
|
set(JSON_VERSION 3.11.3)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PROJECT_APP_NAME="repertory"
|
PROJECT_NAME="repertory"
|
||||||
PROJECT_APP_LIST=(${PROJECT_APP_NAME})
|
PROJECT_APP_LIST=(${PROJECT_NAME})
|
||||||
|
|
||||||
PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY}
|
PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY}
|
||||||
PROJECT_PUBLIC_KEY=${DEVELOPER_PUBLIC_KEY}
|
PROJECT_PUBLIC_KEY=${DEVELOPER_PUBLIC_KEY}
|
||||||
@ -25,5 +25,5 @@ PROJECT_MINGW64_COPY_DEPENDENCIES+=()
|
|||||||
PROJECT_MSYS2_PACKAGE_LIST+=()
|
PROJECT_MSYS2_PACKAGE_LIST+=()
|
||||||
|
|
||||||
if [ "${PROJECT_ENABLE_TESTING}" == "ON" ]; then
|
if [ "${PROJECT_ENABLE_TESTING}" == "ON" ]; then
|
||||||
PROJECT_APP_LIST+=(${PROJECT_APP_NAME}_test)
|
PROJECT_APP_LIST+=(${PROJECT_NAME}_test)
|
||||||
fi
|
fi
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
CURRENT_DIR=$(dirname "$0")
|
CURRENT_DIR=$(dirname "$0")
|
||||||
CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
||||||
|
|
||||||
rsync -av --progress ${CURRENT_DIR}/${PROJECT_APP_NAME}/${PROJECT_APP_NAME}_test/test_data/ ${PROJECT_BUILD_DIR}/build/test_data/
|
rsync -av --progress ${CURRENT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}_test/test_data/ ${PROJECT_BUILD_DIR}/build/test_data/
|
||||||
rsync -av --progress ${CURRENT_DIR}/${PROJECT_APP_NAME}/${PROJECT_APP_NAME}_test/test_data/ ${PROJECT_DIST_DIR}/test_data/
|
rsync -av --progress ${CURRENT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}_test/test_data/ ${PROJECT_DIST_DIR}/test_data/
|
||||||
|
@ -1 +0,0 @@
|
|||||||
set(PROJECT_NAME repertory)
|
|
@ -16,7 +16,7 @@ function create_containers() {
|
|||||||
for FILE in "${SOURCE_DIR}/docker/${BUILD_TYPE}/*"; do
|
for FILE in "${SOURCE_DIR}/docker/${BUILD_TYPE}/*"; do
|
||||||
DOCKER_CREATE_ONLY=1
|
DOCKER_CREATE_ONLY=1
|
||||||
DOCKER_NAME=$(basename ${FILE})
|
DOCKER_NAME=$(basename ${FILE})
|
||||||
DOCKER_TAG=${PROJECT_APP_NAME}:${DOCKER_NAME}
|
DOCKER_TAG=${PROJECT_NAME}:${DOCKER_NAME}
|
||||||
|
|
||||||
. "${CURRENT_DIR}/docker_common.sh"
|
. "${CURRENT_DIR}/docker_common.sh"
|
||||||
done
|
done
|
||||||
|
@ -174,7 +174,7 @@ else
|
|||||||
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/x86_64
|
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/x86_64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/${PROJECT_APP_NAME}
|
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/${PROJECT_NAME}
|
||||||
|
|
||||||
PROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_BUILD_DIR}/deps
|
PROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_BUILD_DIR}/deps
|
||||||
PROJECT_3RD_PARTY_DIR=${SOURCE_DIR}/support/3rd_party
|
PROJECT_3RD_PARTY_DIR=${SOURCE_DIR}/support/3rd_party
|
||||||
@ -211,6 +211,7 @@ PROJECT_CMAKE_OPTS="-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} ${PROJECT_CMAKE_OPTS}
|
|||||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} ${PROJECT_CMAKE_OPTS}"
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} ${PROJECT_CMAKE_OPTS}"
|
||||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX} ${PROJECT_CMAKE_OPTS}"
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX} ${PROJECT_CMAKE_OPTS}"
|
||||||
PROJECT_CMAKE_OPTS="-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE} ${PROJECT_CMAKE_OPTS}"
|
PROJECT_CMAKE_OPTS="-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE} ${PROJECT_CMAKE_OPTS}"
|
||||||
|
PROJECT_CMAKE_OPTS="-DPROJECT_NAME=${PROJECT_NAME} ${PROJECT_CMAKE_OPTS}"
|
||||||
PROJECT_CMAKE_OPTS="-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
PROJECT_CMAKE_OPTS="-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
||||||
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}"
|
||||||
@ -243,7 +244,6 @@ export PATH
|
|||||||
export PKG_CONFIG_PATH
|
export PKG_CONFIG_PATH
|
||||||
export PROJECT_3RD_PARTY_DIR
|
export PROJECT_3RD_PARTY_DIR
|
||||||
export PROJECT_APP_LIST
|
export PROJECT_APP_LIST
|
||||||
export PROJECT_APP_NAME
|
|
||||||
export PROJECT_BUILD_ARCH
|
export PROJECT_BUILD_ARCH
|
||||||
export PROJECT_BUILD_CLEAN
|
export PROJECT_BUILD_CLEAN
|
||||||
export PROJECT_BUILD_DIR
|
export PROJECT_BUILD_DIR
|
||||||
@ -260,6 +260,7 @@ export PROJECT_LINK_TYPE
|
|||||||
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
||||||
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
||||||
export PROJECT_MSYS2_PACKAGE_LIST
|
export PROJECT_MSYS2_PACKAGE_LIST
|
||||||
|
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
|
||||||
|
@ -50,10 +50,10 @@ fi
|
|||||||
PACKAGE_ROOT="${PROJECT_DIST_DIR}/.."
|
PACKAGE_ROOT="${PROJECT_DIST_DIR}/.."
|
||||||
PACKAGE_ROOT=$(realpath "${PACKAGE_ROOT}")
|
PACKAGE_ROOT=$(realpath "${PACKAGE_ROOT}")
|
||||||
|
|
||||||
rsync -av --progress ${PROJECT_DIST_DIR}/ ${TEMP_DIR}/${PROJECT_APP_NAME}/ || exit_and_clean "Failed to rsync" 1
|
rsync -av --progress ${PROJECT_DIST_DIR}/ ${TEMP_DIR}/${PROJECT_NAME}/ || exit_and_clean "Failed to rsync" 1
|
||||||
|
|
||||||
pushd "${DEST_DIR}"
|
pushd "${DEST_DIR}"
|
||||||
OUT_FILE=${PROJECT_APP_NAME}_${PROJECT_VERSION}_${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz
|
OUT_FILE=${PROJECT_NAME}_${PROJECT_VERSION}_${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz
|
||||||
tar cvzf "${OUT_FILE}" -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
|
tar cvzf "${OUT_FILE}" -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
|
||||||
sha256sum "${OUT_FILE}" >"${OUT_FILE}.sha256" || exit_and_clean "Failed to create sha256 file" 1
|
sha256sum "${OUT_FILE}" >"${OUT_FILE}.sha256" || exit_and_clean "Failed to create sha256 file" 1
|
||||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||||
|
@ -12,8 +12,8 @@ fi
|
|||||||
|
|
||||||
if [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; then
|
if [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; then
|
||||||
DOCKER_NAME=alpine
|
DOCKER_NAME=alpine
|
||||||
DOCKER_CONTAINER=${PROJECT_APP_NAME}_${DOCKER_NAME}_${PROJECT_BUILD_ARCH}
|
DOCKER_CONTAINER=${PROJECT_NAME}_${DOCKER_NAME}_${PROJECT_BUILD_ARCH}
|
||||||
DOCKER_TAG=${PROJECT_APP_NAME}:${DOCKER_NAME}
|
DOCKER_TAG=${PROJECT_NAME}:${DOCKER_NAME}
|
||||||
|
|
||||||
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
||||||
else
|
else
|
||||||
|
@ -11,7 +11,7 @@ if [ -f "${CURRENT_DIR}/cleanup.sh" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
DOCKER_NAME=mingw64
|
DOCKER_NAME=mingw64
|
||||||
DOCKER_CONTAINER=${PROJECT_APP_NAME}_${DOCKER_NAME}
|
DOCKER_CONTAINER=${PROJECT_NAME}_${DOCKER_NAME}
|
||||||
DOCKER_TAG=${PROJECT_APP_NAME}:${DOCKER_NAME}
|
DOCKER_TAG=${PROJECT_NAME}:${DOCKER_NAME}
|
||||||
|
|
||||||
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
||||||
|
@ -8,8 +8,8 @@ shift
|
|||||||
|
|
||||||
. "${CURRENT_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" 1 1>/dev/null 2>&1
|
. "${CURRENT_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" 1 1>/dev/null 2>&1
|
||||||
|
|
||||||
DOCKER_CONTAINER=${PROJECT_APP_NAME}_${DOCKER_NAME}_${PROJECT_BUILD_ARCH}_shell
|
DOCKER_CONTAINER=${PROJECT_NAME}_${DOCKER_NAME}_${PROJECT_BUILD_ARCH}_shell
|
||||||
DOCKER_TAG=${PROJECT_APP_NAME}:${DOCKER_NAME}
|
DOCKER_TAG=${PROJECT_NAME}:${DOCKER_NAME}
|
||||||
DOCKER_SHELL=1
|
DOCKER_SHELL=1
|
||||||
|
|
||||||
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
. "${CURRENT_DIR}/docker_common.sh" || exit 1
|
||||||
|
BIN
support/3rd_party/googletest-1.14.0.tar.gz
vendored
BIN
support/3rd_party/googletest-1.14.0.tar.gz
vendored
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7 ./googletest-1.14.0.tar.gz
|
|
BIN
support/3rd_party/googletest-1.15.0.tar.gz
vendored
Normal file
BIN
support/3rd_party/googletest-1.15.0.tar.gz
vendored
Normal file
Binary file not shown.
1
support/3rd_party/googletest-1.15.0.tar.gz.sha256
vendored
Normal file
1
support/3rd_party/googletest-1.15.0.tar.gz.sha256
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
7315acb6bf10e99f332c8a43f00d5fbb1ee6ca48c52f6b936991b216c586aaad *googletest-1.15.0.tar.gz
|
Loading…
x
Reference in New Issue
Block a user