updated build system
This commit is contained in:
parent
70b5204a9f
commit
786d8634cf
@ -3,15 +3,6 @@ cmake_minimum_required(VERSION 3.24)
|
||||
cmake_policy(SET CMP0135 NEW)
|
||||
cmake_policy(SET CMP0144 NEW)
|
||||
|
||||
unset(PROJECT_GIT_REV CACHE)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE PROJECT_GIT_REV
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
project(${PROJECT_NAME}
|
||||
VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}
|
||||
)
|
||||
@ -51,8 +42,6 @@ if(PROJECT_BUILD)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||
@ONLY
|
||||
)
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/git_rev.sh "export PROJECT_GIT_REV=${PROJECT_GIT_REV}")
|
||||
else()
|
||||
message(STATUS "-=[CMake Settings]=-")
|
||||
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
||||
@ -111,6 +100,7 @@ endif()
|
||||
-DPROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_EXTERNAL_BUILD_ROOT}
|
||||
-DPROJECT_FUSE=${PROJECT_FUSE}
|
||||
-DPROJECT_FUSE_INCLUDE_DIRS=${PROJECT_FUSE_INCLUDE_DIRS}
|
||||
-DPROJECT_GIT_REV=${PROJECT_GIT_REV}
|
||||
-DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE}
|
||||
-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64}
|
||||
-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW}
|
||||
|
@ -24,6 +24,10 @@ if [[ -z "${NUM_JOBS}" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
pushd "${SOURCE_DIR}"
|
||||
|
||||
PROJECT_GIT_REV=$(git rev-parse --short HEAD)
|
||||
|
||||
. "${CURRENT_DIR}/options.sh"
|
||||
|
||||
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||
@ -207,21 +211,22 @@ PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} ${P
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_DIST_DIR=${PROJECT_DIST_DIR} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_EXTERNAL_BUILD_ROOT} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_GIT_REV=${PROJECT_GIT_REV} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
||||
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_UNIX=${PROJECT_IS_MINGW_UNIX} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE} ${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_NAME=${PROJECT_NAME} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_RELEASE_ITER=${PROJECT_RELEASE_ITER} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_RELEASE_NUM=${PROJECT_RELEASE_NUM} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_REVISION_VERSION=${PROJECT_REVISION_VERSION} ${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_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
|
||||
@ -259,6 +264,7 @@ export PROJECT_CMAKE_BUILD_TYPE
|
||||
export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
||||
export PROJECT_CMAKE_OPTS
|
||||
export PROJECT_DIST_DIR
|
||||
export PROJECT_GIT_REV
|
||||
export PROJECT_IS_ALPINE
|
||||
export PROJECT_IS_ARM64
|
||||
export PROJECT_IS_MINGW
|
||||
@ -318,7 +324,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 " Version: ${PROJECT_VERSION}-${PROJECT_GIT_REV}"
|
||||
echo "-=[Libraries]=-"
|
||||
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
|
||||
@ -327,3 +333,4 @@ for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||
echo " ${ENABLE_NAME}: Enable[${!ENABLE_NAME}] Keep[${!KEEP_NAME}]"
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
@ -8,21 +8,12 @@ CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
||||
|
||||
. "${CURRENT_DIR}/env.sh" "$2" "$3" "$4" "$5" "$6"
|
||||
|
||||
if [ -f "${CURRENT_DIR}/../build/git_rev.sh" ]; then
|
||||
source ${CURRENT_DIR}/../build/git_rev.sh
|
||||
fi
|
||||
|
||||
function exit_and_clean() {
|
||||
echo $1
|
||||
rm -rf ${TEMP_DIR}
|
||||
exit $2
|
||||
}
|
||||
|
||||
if [ "${PROJECT_GIT_REV}" == "" ]; then
|
||||
echo "Project git revision not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "${PROJECT_DIST_DIR}" ]; then
|
||||
echo "Dist directory not found: ${PROJECT_DIST_DIR}"
|
||||
exit 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user