updated build system
This commit is contained in:
parent
c99c4988ff
commit
d356d04bf5
@ -25,6 +25,11 @@ include(cmake/libraries.cmake)
|
||||
if(PROJECT_BUILD)
|
||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp "")
|
||||
|
||||
if (PROJECT_IS_MINGW)
|
||||
set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc)
|
||||
file(WRITE ${PROJECT_WINDOWS_VERSION_RC} "")
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE ADDITIONAL_SOURCES
|
||||
${PROJECT_3RD_PARTY_DIR}/src/*.c
|
||||
${PROJECT_3RD_PARTY_DIR}/src/*.cpp
|
||||
@ -37,6 +42,20 @@ if(PROJECT_BUILD)
|
||||
|
||||
include(project.cmake)
|
||||
|
||||
if (PROJECT_IS_MINGW)
|
||||
if ("${PROJECT_RELEASE_ITER}" STREQUAL "release")
|
||||
set(PROJECT_PRERELEASE 0)
|
||||
else()
|
||||
set(PROJECT_PRERELEASE VS_FF_PRERELEASE)
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc
|
||||
@ONLY
|
||||
)
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||
@ -63,6 +82,9 @@ endif()
|
||||
-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}
|
||||
-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
|
||||
-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE}
|
||||
-DPROJECT_COMPANY_NAME=${PROJECT_COMPANY_NAME}
|
||||
-DPROJECT_COPYRIGHT=${PROJECT_COPYRIGHT}
|
||||
-DPROJECT_DESCRIPTION=${PROJECT_DESCRIPTION}
|
||||
-DPROJECT_DIST_DIR=${PROJECT_DIST_DIR}
|
||||
-DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST}
|
||||
-DPROJECT_ENABLE_CLI11=${PROJECT_ENABLE_CLI11}
|
||||
|
@ -2,6 +2,10 @@
|
||||
|
||||
PROJECT_NAME="repertory"
|
||||
|
||||
PROJECT_COPYRIGHT="Copyright <2018-2024> <MIT License> <https://git.fifthgrid.com/blockstorage/repertory>"
|
||||
PROJECT_COMPANY_NAME=https://git.fifthgrid.com/blockstorage
|
||||
PROJECT_DESCRIPTION="Mount utility for Sia and S3"
|
||||
|
||||
PROJECT_MAJOR_VERSION=2
|
||||
PROJECT_MINOR_VERSION=0
|
||||
PROJECT_REVISION_VERSION=2
|
||||
|
@ -1,26 +1,8 @@
|
||||
set(REPERTORY_VER_FILEVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM})
|
||||
set(REPERTORY_VER_FILEVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM}-${PROJECT_RELEASE_ITER})
|
||||
set(REPERTORY_VER_PRODUCTVERSION ${PROJECT_MAJOR_VERSION},${PROJECT_MINOR_VERSION},${PROJECT_REVISION_VERSION},${PROJECT_RELEASE_NUM})
|
||||
set(REPERTORY_VER_PRODUCTVERSION_STR ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}.${PROJECT_RELEASE_NUM}-${PROJECT_RELEASE_ITER})
|
||||
set(REPERTORY_VER_PRERELEASE VS_FF_PRERELEASE)
|
||||
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_FILEDESCRIPTION_STR "Mount utility for Sia and S3")
|
||||
|
||||
option(REPERTORY_ENABLE_S3 "Enable S3 support" ON)
|
||||
if (REPERTORY_ENABLE_S3)
|
||||
add_definitions(-DREPERTORY_ENABLE_S3)
|
||||
endif()
|
||||
|
||||
if (PROJECT_IS_MINGW)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc
|
||||
@ONLY
|
||||
)
|
||||
set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-include common.hpp ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
add_project_library(lib${PROJECT_NAME} "" "" "${PROJECT_ADDITIONAL_SOURCES}")
|
||||
|
@ -1,18 +1,18 @@
|
||||
#include <windows.h>
|
||||
#define VER_FILEVERSION @REPERTORY_VER_FILEVERSION@
|
||||
#define VER_FILEVERSION_STR "@REPERTORY_VER_FILEVERSION_STR@\0"
|
||||
#define VER_FILEVERSION @PROJECT_MAJOR_VERSION@,@PROJECT_MINOR_VERSION@,@PROJECT_REVISION_VERSION@,@PROJECT_RELEASE_NUM@
|
||||
#define VER_FILEVERSION_STR "@PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||
|
||||
#define VER_PRODUCTVERSION @REPERTORY_VER_PRODUCTVERSION@
|
||||
#define VER_PRODUCTVERSION_STR "@REPERTORY_VER_PRODUCTVERSION_STR@\0"
|
||||
#define VER_PRODUCTVERSION @PROJECT_MAJOR_VERSION@,@PROJECT_MINOR_VERSION@,@PROJECT_REVISION_VERSION@,@PROJECT_RELEASE_NUM@
|
||||
#define VER_PRODUCTVERSION_STR "@PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||
|
||||
#define VER_COMPANYNAME_STR "@REPERTORY_VER_COMPANYNAME_STR@\0"
|
||||
#define VER_INTERNALNAME_STR "Repertory @PROJECT_VERSION@-@PROJECT_RELEAS_ITER@\0"
|
||||
#define VER_LEGALCOPYRIGHT_STR "@REPERTORY_VER_LEGALCOPYRIGHT_STR@\0"
|
||||
#define VER_ORIGINALFILENAME_STR "repertory.exe\0"
|
||||
#define VER_COMPANYNAME_STR "@PROJECT_COMPANY_NAME@\0"
|
||||
#define VER_INTERNALNAME_STR "@PROJECT_NAME@ @PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||
#define VER_LEGALCOPYRIGHT_STR "@PROJECT_COPYRIGHT@\0"
|
||||
#define VER_ORIGINALFILENAME_STR "@PROJECT_NAME@.exe\0"
|
||||
#define VER_LEGALTRADEMARKS1_STR "\0"
|
||||
#define VER_LEGALTRADEMARKS2_STR "\0"
|
||||
#define VER_FILEDESCRIPTION_STR "@REPERTORY_VER_FILEDESCRIPTION_STR@\0"
|
||||
#define VER_PRODUCTNAME_STR "Repertory @PROJECT_VERSION@-@PROJECT_RELEAS_ITER@\0"
|
||||
#define VER_FILEDESCRIPTION_STR "@PROJECT_DESCRIPTION@\0"
|
||||
#define VER_PRODUCTNAME_STR "@PROJECT_NAME@ @PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||
|
||||
#ifdef DEBUG
|
||||
#define VER_DEBUG VS_FF_DEBUG
|
||||
@ -20,7 +20,7 @@
|
||||
#define VER_DEBUG 0
|
||||
#endif
|
||||
|
||||
#define VER_PRERELEASE @REPERTORY_VER_PRERELEASE@
|
||||
#define VER_PRERELEASE @PROJECT_PRERELEASE@
|
||||
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
|
@ -209,6 +209,9 @@ PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_ARCH=${PROJECT_BUILD_ARCH} ${PROJECT_CMAKE_O
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_COMPANY_NAME=${PROJECT_COMPANY_NAME} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_COPYRIGHT=${PROJECT_COPYRIGHT} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_DESCRIPTION=${PROJECT_DESCRIPTION} ${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}"
|
||||
@ -263,6 +266,9 @@ export PROJECT_BUILD_SHARED_LIBS
|
||||
export PROJECT_CMAKE_BUILD_TYPE
|
||||
export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
||||
export PROJECT_CMAKE_OPTS
|
||||
export PROJECT_COMPANY_NAME
|
||||
export PROJECT_COPYRIGHT
|
||||
export PROJECT_DESCRIPTION
|
||||
export PROJECT_DIST_DIR
|
||||
export PROJECT_GIT_REV
|
||||
export PROJECT_IS_ALPINE
|
||||
@ -305,6 +311,9 @@ echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
|
||||
echo " CMake options: -G\"Unix Makefiles\" ${PROJECT_CMAKE_OPTS}"
|
||||
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
|
||||
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
|
||||
echo " Company name: ${PROJECT_COMPANY_NAME}"
|
||||
echo " Copyright: ${PROJECT_COPYRIGHT}"
|
||||
echo " Description: ${PROJECT_DESCRIPTION}"
|
||||
echo " Dist dir: ${PROJECT_DIST_DIR}"
|
||||
echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}"
|
||||
echo " Is ARM64: ${PROJECT_IS_ARM64}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user