updated build system
This commit is contained in:
parent
0c414fc8a6
commit
5fb66dc6ee
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,7 +6,6 @@ cspell.json
|
|||||||
support/Dockerfile
|
support/Dockerfile
|
||||||
dist/
|
dist/
|
||||||
deps/
|
deps/
|
||||||
repertory/librepertory/src/common.cpp
|
|
||||||
scripts/cleanup.cmd
|
scripts/cleanup.cmd
|
||||||
scripts/cleanup.sh
|
scripts/cleanup.sh
|
||||||
version.rc
|
version.rc
|
||||||
|
@ -31,11 +31,19 @@ if(PROJECT_BUILD)
|
|||||||
${ADDITIONAL_SOURCES}
|
${ADDITIONAL_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
unset(PROJECT_GIT_REV CACHE)
|
||||||
|
unset(PROJECT_VERSION CACHE)
|
||||||
|
|
||||||
include(project.cmake)
|
include(project.cmake)
|
||||||
|
|
||||||
if (PROJECT_VERSION)
|
if (PROJECT_VERSION)
|
||||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/dist/version.sh "export PROJECT_VERSION=${PROJECT_VERSION}")
|
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/dist/version.sh "export PROJECT_VERSION=${PROJECT_VERSION}")
|
||||||
add_definitions(-DPROJECT_VERSION=${PROJECT_VERSION})
|
add_definitions(-DPROJECT_VERSION=\"${PROJECT_VERSION}\")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (PROJECT_GIT_REV)
|
||||||
|
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/dist/git_rev.sh "export PROJECT_GIT_REV=${PROJECT_GIT_REV}")
|
||||||
|
add_definitions(-DPROJECT_GIT_REV=\"${PROJECT_GIT_REV}\")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
message(STATUS "-=[CMake Settings]=-")
|
message(STATUS "-=[CMake Settings]=-")
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
set(REPERTORY_MAJOR 2)
|
set(REPERTORY_MAJOR 2)
|
||||||
set(REPERTORY_MINOR 0)
|
set(REPERTORY_MINOR 0)
|
||||||
set(REPERTORY_REV 2)
|
set(REPERTORY_REV 2)
|
||||||
set(REPERTORY_RELEASE_NUM 0)
|
set(REPERTORY_RELEASE_NUM 0)
|
||||||
set(REPERTORY_RELEASE_ITER rc)
|
set(REPERTORY_RELEASE_ITER rc)
|
||||||
|
|
||||||
set(PROJECT_VERSION ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}-${REPERTORY_RELEASE_ITER})
|
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 ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM})
|
||||||
@ -28,12 +37,6 @@ if (PROJECT_IS_MINGW)
|
|||||||
set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${PROJECT_NAME}/version.rc)
|
set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${PROJECT_NAME}/version.rc)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
configure_file(
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/lib${PROJECT_NAME}/src/common.cpp.in
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/lib${PROJECT_NAME}/src/common.cpp
|
|
||||||
@ONLY
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-include common.hpp ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_CXX_FLAGS "-include common.hpp ${CMAKE_CXX_FLAGS}")
|
||||||
|
|
||||||
add_project_library(lib${PROJECT_NAME} "" "" "${PROJECT_ADDITIONAL_SOURCES}")
|
add_project_library(lib${PROJECT_NAME} "" "" "${PROJECT_ADDITIONAL_SOURCES}")
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
/*
|
/*
|
||||||
Copyright <2018-2024> <scott.e.graves@protonmail.com>
|
Copyright <2018-2024> <scott.e.graves@protonmail.com>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
in the Software without restriction, including without limitation the rights
|
in the Software without restriction, including without limitation the rights
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
furnished to do so, subject to the following conditions:
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
The above copyright notice and this permission notice shall be included in all
|
||||||
copies or substantial portions of the Software.
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "types/repertory.hpp"
|
#include "types/repertory.hpp"
|
||||||
#include "utils/utils.hpp"
|
#include "utils/utils.hpp"
|
||||||
|
|
||||||
namespace repertory {
|
namespace repertory {
|
||||||
auto get_repertory_git_revision() -> const std::string & {
|
auto get_repertory_git_revision() -> const std::string & {
|
||||||
static const std::string git_revision = "@REPERTORY_GIT_REV@";
|
static const std::string git_revision = PROJECT_GIT_REV;
|
||||||
return git_revision;
|
return git_revision;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto get_repertory_version() -> const std::string & {
|
auto get_repertory_version() -> const std::string & {
|
||||||
static const std::string version = "@PROJECT_VERSION@";
|
static const std::string version = PROJECT_VERSION;
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
} // namespace repertory
|
} // namespace repertory
|
@ -8,8 +8,12 @@ CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
|||||||
|
|
||||||
. "${CURRENT_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7"
|
. "${CURRENT_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7"
|
||||||
|
|
||||||
if [ -f "../dist/version.sh" ]; then
|
if [ -f "${CURRENT_DIR}/../dist/version.sh" ]; then
|
||||||
source ../dist/version.sh
|
source ${CURRENT_DIR}/../dist/version.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "${CURRENT_DIR}/../dist/git_rev.sh" ]; then
|
||||||
|
source ${CURRENT_DIR}/../dist/git_rev.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
function exit_and_clean() {
|
function exit_and_clean() {
|
||||||
@ -23,6 +27,11 @@ if [ "${PROJECT_VERSION}" == "" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${PROJECT_GIT_REV}" == "" ]; then
|
||||||
|
echo "Project git revision not set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -d "${PROJECT_DIST_DIR}" ]; then
|
if [ ! -d "${PROJECT_DIST_DIR}" ]; then
|
||||||
echo "Dist directory not found: ${PROJECT_DIST_DIR}"
|
echo "Dist directory not found: ${PROJECT_DIST_DIR}"
|
||||||
exit 1
|
exit 1
|
||||||
@ -39,7 +48,7 @@ PACKAGE_ROOT=$(realpath ${PACKAGE_ROOT})
|
|||||||
rsync -av --progress ${PACKAGE_ROOT}/ ${TEMP_DIR}/ || exit_and_clean "Failed to rsync" 1
|
rsync -av --progress ${PACKAGE_ROOT}/ ${TEMP_DIR}/ || exit_and_clean "Failed to rsync" 1
|
||||||
|
|
||||||
pushd "${DEST_DIR}"
|
pushd "${DEST_DIR}"
|
||||||
tar cvzf ${PROJECT_APP_NAME}_${PROJECT_VERSION}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
|
tar cvzf ${PROJECT_APP_NAME}_${PROJECT_VERSION}_${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
exit_and_clean "Created package successfully" 0
|
exit_and_clean "Created package successfully" 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user