updated build system
This commit is contained in:
parent
c99c4988ff
commit
d356d04bf5
@ -25,6 +25,11 @@ include(cmake/libraries.cmake)
|
|||||||
if(PROJECT_BUILD)
|
if(PROJECT_BUILD)
|
||||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp "")
|
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
|
file(GLOB_RECURSE ADDITIONAL_SOURCES
|
||||||
${PROJECT_3RD_PARTY_DIR}/src/*.c
|
${PROJECT_3RD_PARTY_DIR}/src/*.c
|
||||||
${PROJECT_3RD_PARTY_DIR}/src/*.cpp
|
${PROJECT_3RD_PARTY_DIR}/src/*.cpp
|
||||||
@ -37,6 +42,20 @@ if(PROJECT_BUILD)
|
|||||||
|
|
||||||
include(project.cmake)
|
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(
|
configure_file(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp.in
|
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp.in
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||||
@ -63,6 +82,9 @@ endif()
|
|||||||
-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}
|
-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}
|
||||||
-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
|
-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
|
||||||
-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE}
|
-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_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}
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
PROJECT_NAME="repertory"
|
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_MAJOR_VERSION=2
|
||||||
PROJECT_MINOR_VERSION=0
|
PROJECT_MINOR_VERSION=0
|
||||||
PROJECT_REVISION_VERSION=2
|
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)
|
option(REPERTORY_ENABLE_S3 "Enable S3 support" ON)
|
||||||
if (REPERTORY_ENABLE_S3)
|
if (REPERTORY_ENABLE_S3)
|
||||||
add_definitions(-DREPERTORY_ENABLE_S3)
|
add_definitions(-DREPERTORY_ENABLE_S3)
|
||||||
endif()
|
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}")
|
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,18 +1,18 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#define VER_FILEVERSION @REPERTORY_VER_FILEVERSION@
|
#define VER_FILEVERSION @PROJECT_MAJOR_VERSION@,@PROJECT_MINOR_VERSION@,@PROJECT_REVISION_VERSION@,@PROJECT_RELEASE_NUM@
|
||||||
#define VER_FILEVERSION_STR "@REPERTORY_VER_FILEVERSION_STR@\0"
|
#define VER_FILEVERSION_STR "@PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||||
|
|
||||||
#define VER_PRODUCTVERSION @REPERTORY_VER_PRODUCTVERSION@
|
#define VER_PRODUCTVERSION @PROJECT_MAJOR_VERSION@,@PROJECT_MINOR_VERSION@,@PROJECT_REVISION_VERSION@,@PROJECT_RELEASE_NUM@
|
||||||
#define VER_PRODUCTVERSION_STR "@REPERTORY_VER_PRODUCTVERSION_STR@\0"
|
#define VER_PRODUCTVERSION_STR "@PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||||
|
|
||||||
#define VER_COMPANYNAME_STR "@REPERTORY_VER_COMPANYNAME_STR@\0"
|
#define VER_COMPANYNAME_STR "@PROJECT_COMPANY_NAME@\0"
|
||||||
#define VER_INTERNALNAME_STR "Repertory @PROJECT_VERSION@-@PROJECT_RELEAS_ITER@\0"
|
#define VER_INTERNALNAME_STR "@PROJECT_NAME@ @PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||||
#define VER_LEGALCOPYRIGHT_STR "@REPERTORY_VER_LEGALCOPYRIGHT_STR@\0"
|
#define VER_LEGALCOPYRIGHT_STR "@PROJECT_COPYRIGHT@\0"
|
||||||
#define VER_ORIGINALFILENAME_STR "repertory.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 "@REPERTORY_VER_FILEDESCRIPTION_STR@\0"
|
#define VER_FILEDESCRIPTION_STR "@PROJECT_DESCRIPTION@\0"
|
||||||
#define VER_PRODUCTNAME_STR "Repertory @PROJECT_VERSION@-@PROJECT_RELEAS_ITER@\0"
|
#define VER_PRODUCTNAME_STR "@PROJECT_NAME@ @PROJECT_VERSION@-@PROJECT_RELEASE_ITER@-@PROJECT_GIT_REV@\0"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define VER_DEBUG VS_FF_DEBUG
|
#define VER_DEBUG VS_FF_DEBUG
|
||||||
@ -20,7 +20,7 @@
|
|||||||
#define VER_DEBUG 0
|
#define VER_DEBUG 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define VER_PRERELEASE @REPERTORY_VER_PRERELEASE@
|
#define VER_PRERELEASE @PROJECT_PRERELEASE@
|
||||||
|
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
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_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_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_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_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_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_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
|
||||||
export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
||||||
export PROJECT_CMAKE_OPTS
|
export PROJECT_CMAKE_OPTS
|
||||||
|
export PROJECT_COMPANY_NAME
|
||||||
|
export PROJECT_COPYRIGHT
|
||||||
|
export PROJECT_DESCRIPTION
|
||||||
export PROJECT_DIST_DIR
|
export PROJECT_DIST_DIR
|
||||||
export PROJECT_GIT_REV
|
export PROJECT_GIT_REV
|
||||||
export PROJECT_IS_ALPINE
|
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 options: -G\"Unix Makefiles\" ${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 " Copyright: ${PROJECT_COPYRIGHT}"
|
||||||
|
echo " Description: ${PROJECT_DESCRIPTION}"
|
||||||
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}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user