removed msvc compilation support
This commit is contained in:
parent
3a5f428fb6
commit
d33c2cd3a2
@ -1,39 +0,0 @@
|
|||||||
#!groovy
|
|
||||||
|
|
||||||
pipeline {
|
|
||||||
agent any
|
|
||||||
|
|
||||||
environment {
|
|
||||||
REPERTORY_TEST_DIR = "C:\\.ci\\cfg"
|
|
||||||
}
|
|
||||||
|
|
||||||
options {
|
|
||||||
disableConcurrentBuilds()
|
|
||||||
retry(2)
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage('clean') {
|
|
||||||
steps {
|
|
||||||
bat 'del /q build\\Release\\librepertory.lib || exit 0'
|
|
||||||
bat 'del /q build\\Release\\unittests.exe || exit 0'
|
|
||||||
bat 'del /q build\\Release\\repertory.exe || exit 0'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('configure') {
|
|
||||||
steps {
|
|
||||||
cmake arguments: '.. -DCMAKE_BUILD_TYPE=Release -DREPERTORY_ENABLE_S3=ON', installation: 'InSearchPath', workingDir: 'build'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('build') {
|
|
||||||
steps {
|
|
||||||
retry(2) {
|
|
||||||
sleep time: 5, unit: 'SECONDS'
|
|
||||||
cmake arguments: '--build . --target ALL_BUILD --config Release -j 4', installation: 'InSearchPath', workingDir: 'build'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
### Changes from v2.0.0-rc
|
### Changes from v2.0.0-rc
|
||||||
|
|
||||||
|
* Removed MSVC compilation support (MinGW-64 should be used)
|
||||||
* Upgraded `boost` to v1.83.0
|
* Upgraded `boost` to v1.83.0
|
||||||
* Upgraded `curl` to v8.4.0
|
* Upgraded `curl` to v8.4.0
|
||||||
* Upgraded `libsodium` to v1.0.19
|
* Upgraded `libsodium` to v1.0.19
|
||||||
|
@ -44,7 +44,7 @@ if (UNIX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC OR MINGW)
|
if (MINGW)
|
||||||
set(WINFSP_LIBRARY_BASENAME winfsp-x64)
|
set(WINFSP_LIBRARY_BASENAME winfsp-x64)
|
||||||
|
|
||||||
include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/3rd_party/winfsp-${WINFSP_VERSION}/inc)
|
include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/3rd_party/winfsp-${WINFSP_VERSION}/inc)
|
||||||
@ -163,17 +163,7 @@ elseif (MACOS)
|
|||||||
"-framework SystemConfiguration"
|
"-framework SystemConfiguration"
|
||||||
)
|
)
|
||||||
elseif (MSVC)
|
elseif (MSVC)
|
||||||
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
message(FATAL_ERROR "MSVC is currently not supported [MinGW-64 should be used]")
|
||||||
if (NOT OPENSSL_ROOT_DIR)
|
|
||||||
set (OPENSSL_ROOT_DIR "$ENV{USERPROFILE}\\scoop\\apps\\openssl\\current")
|
|
||||||
endif()
|
|
||||||
find_package(OpenSSL 1.1.1 REQUIRED)
|
|
||||||
set(OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto)
|
|
||||||
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING)
|
|
||||||
|
|
||||||
if (NOT CMAKE_GENERATOR_LOWER STREQUAL "nmake makefiles")
|
|
||||||
set(REPERTORY_OUTPUT_DIR ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MINGW)
|
if (MINGW)
|
||||||
@ -183,7 +173,7 @@ if (MINGW)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC OR MINGW)
|
if (MINGW)
|
||||||
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})
|
||||||
set(REPERTORY_VER_FILEVERSION_STR ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}.${REPERTORY_RELEASE_NUM})
|
set(REPERTORY_VER_FILEVERSION_STR ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}.${REPERTORY_RELEASE_NUM})
|
||||||
set(REPERTORY_VER_PRODUCTVERSION ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM})
|
set(REPERTORY_VER_PRODUCTVERSION ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM})
|
||||||
@ -195,10 +185,6 @@ if (MSVC OR MINGW)
|
|||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.rc.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc @ONLY)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.rc.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc @ONLY)
|
||||||
set(WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc)
|
set(WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc)
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
set(LIB_EXT .lib)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(REPERTORY_LINK_LIBRARIES
|
set(REPERTORY_LINK_LIBRARIES
|
||||||
${REPERTORY_LINK_LIBRARIES}
|
${REPERTORY_LINK_LIBRARIES}
|
||||||
advapi32${LIB_EXT}
|
advapi32${LIB_EXT}
|
||||||
|
@ -87,55 +87,6 @@ if (UNIX OR MINGW)
|
|||||||
libboost_serialization${BOOST_LIB_EXTRA}.a
|
libboost_serialization${BOOST_LIB_EXTRA}.a
|
||||||
libboost_thread${BOOST_LIB_EXTRA}.a
|
libboost_thread${BOOST_LIB_EXTRA}.a
|
||||||
)
|
)
|
||||||
elseif(MSVC)
|
|
||||||
set (BOOST_COMMON_ARGS
|
|
||||||
--with-date_time
|
|
||||||
--with-regex
|
|
||||||
--with-serialization
|
|
||||||
--with-system
|
|
||||||
--with-filesystem
|
|
||||||
--prefix=${EXTERNAL_BUILD_ROOT}
|
|
||||||
runtime-link=shared
|
|
||||||
threading=multi
|
|
||||||
address-model=${BOOST_ADDRESS_MODEL}
|
|
||||||
architecture=x86
|
|
||||||
toolset=${BOOST_MSVC_TOOLSET}
|
|
||||||
variant=${CMAKE_BUILD_TYPE_LOWER}
|
|
||||||
-sZLIB_BINARY=zlibstatic${DEBUG_EXTRA}
|
|
||||||
-sZLIB_LIBPATH="${EXTERNAL_BUILD_ROOT}/lib"
|
|
||||||
-sZLIB_INCLUDE="${EXTERNAL_BUILD_ROOT}/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(boost_project
|
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
URL ${BOOST_DOWNLOAD_URL}
|
|
||||||
PREFIX ${BOOST_BUILD_ROOT}
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
bootstrap.bat
|
|
||||||
--with-date_time
|
|
||||||
--with-regex
|
|
||||||
--with-system
|
|
||||||
--with-serialization
|
|
||||||
--with-filesystem
|
|
||||||
BUILD_COMMAND
|
|
||||||
b2.exe
|
|
||||||
${BOOST_COMMON_ARGS}
|
|
||||||
INSTALL_COMMAND
|
|
||||||
b2.exe
|
|
||||||
install
|
|
||||||
${BOOST_COMMON_ARGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(BOOST_ROOT ${BOOST_BUILD_ROOT}/src/boost_project)
|
|
||||||
set(Boost_INCLUDE_DIR ${EXTERNAL_BUILD_ROOT}/include/boost-${BOOST_VERSION_DLL})
|
|
||||||
set(Boost_LIBRARIES
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libboost_date_time-vc${BOOST_MSVC_TOOLSET_DLL}-mt-${BOOST_DEBUG_EXTRA}${BOOST_DLL_ARCH}-${BOOST_VERSION_DLL}.lib
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libboost_filesystem-vc${BOOST_MSVC_TOOLSET_DLL}-mt-${BOOST_DEBUG_EXTRA}${BOOST_DLL_ARCH}-${BOOST_VERSION_DLL}.lib
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libboost_regex-vc${BOOST_MSVC_TOOLSET_DLL}-mt-${BOOST_DEBUG_EXTRA}${BOOST_DLL_ARCH}-${BOOST_VERSION_DLL}.lib
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libboost_serialization-vc${BOOST_MSVC_TOOLSET_DLL}-mt-${BOOST_DEBUG_EXTRA}${BOOST_DLL_ARCH}-${BOOST_VERSION_DLL}.lib
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libboost_system-vc${BOOST_MSVC_TOOLSET_DLL}-mt-${BOOST_DEBUG_EXTRA}${BOOST_DLL_ARCH}-${BOOST_VERSION_DLL}.lib
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_dependencies(boost_project zlib_project)
|
add_dependencies(boost_project zlib_project)
|
||||||
|
@ -54,11 +54,8 @@ ExternalProject_Add(curl_project
|
|||||||
|
|
||||||
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -DCURL_STATICLIB=ON -DCURL_DISABLE_LDAP=ON)
|
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -DCURL_STATICLIB=ON -DCURL_DISABLE_LDAP=ON)
|
||||||
|
|
||||||
if (MSVC)
|
set(CURL_LIBRARIES libcurl${DEBUG_EXTRA2}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
set(CURL_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/libcurl${DEBUG_EXTRA2}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
add_dependencies(curl_project
|
||||||
else()
|
openssl_project
|
||||||
set(CURL_LIBRARIES libcurl${DEBUG_EXTRA2}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
zlib_project
|
||||||
add_dependencies(curl_project openssl_project)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(curl_project zlib_project)
|
|
||||||
|
@ -73,41 +73,6 @@ if (UNIX OR MINGW)
|
|||||||
${REPERTORY_COMMON_FLAG_LIST}
|
${REPERTORY_COMMON_FLAG_LIST}
|
||||||
-std=c++${CMAKE_CXX_STANDARD}
|
-std=c++${CMAKE_CXX_STANDARD}
|
||||||
)
|
)
|
||||||
elseif (MSVC)
|
|
||||||
set(REPERTORY_C_FLAGS_LIST
|
|
||||||
${REPERTORY_C_FLAGS_LIST}
|
|
||||||
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
|
|
||||||
/DNOMINMAX
|
|
||||||
/bigobj
|
|
||||||
/Zi
|
|
||||||
)
|
|
||||||
|
|
||||||
set(REPERTORY_CXX_FLAGS_LIST
|
|
||||||
${REPERTORY_CXX_FLAGS_LIST}
|
|
||||||
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
|
|
||||||
/DNOMINMAX
|
|
||||||
/bigobj
|
|
||||||
/Zi
|
|
||||||
)
|
|
||||||
|
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
set(REPERTORY_C_FLAGS_LIST
|
|
||||||
${REPERTORY_C_FLAGS_LIST}
|
|
||||||
/DEBUG
|
|
||||||
)
|
|
||||||
|
|
||||||
set(REPERTORY_CXX_FLAGS_LIST
|
|
||||||
${REPERTORY_CXX_FLAGS_LIST}
|
|
||||||
/DEBUG
|
|
||||||
)
|
|
||||||
|
|
||||||
set(REPERTORY_SHARED_LINKER_FLAGS_LIST
|
|
||||||
${REPERTORY_SHARED_LINKER_FLAGS_LIST}
|
|
||||||
/DEBUG
|
|
||||||
/OPT:REF
|
|
||||||
/OPT:ICF
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(JOIN REPERTORY_CXX_FLAGS_LIST " " REPERTORY_CXX_FLAGS_LIST)
|
list(JOIN REPERTORY_CXX_FLAGS_LIST " " REPERTORY_CXX_FLAGS_LIST)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
function(copy_support_files target)
|
function(copy_support_files target)
|
||||||
if (MSVC OR MINGW)
|
if (MINGW)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${target}
|
TARGET ${target}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
|
@ -16,6 +16,7 @@ add_dependencies(librepertory
|
|||||||
boost_project
|
boost_project
|
||||||
curl_project
|
curl_project
|
||||||
libsodium_project
|
libsodium_project
|
||||||
|
openssl_project
|
||||||
rocksdb_project
|
rocksdb_project
|
||||||
zlib_project
|
zlib_project
|
||||||
)
|
)
|
||||||
@ -23,7 +24,3 @@ add_dependencies(librepertory
|
|||||||
if (LINUX)
|
if (LINUX)
|
||||||
add_dependencies(librepertory libuuid_project)
|
add_dependencies(librepertory libuuid_project)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT WIN32)
|
|
||||||
add_dependencies(librepertory openssl_project)
|
|
||||||
endif()
|
|
||||||
|
@ -2,48 +2,26 @@ set(LIBSODIUM_PROJECT_NAME libsodium_${LIBSODIUM_VERSION})
|
|||||||
set(LIBSODIUM_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${LIBSODIUM_PROJECT_NAME})
|
set(LIBSODIUM_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${LIBSODIUM_PROJECT_NAME})
|
||||||
set(LIBSODIUM_BUILD_TYPE ${EXTERNAL_BUILD_TYPE})
|
set(LIBSODIUM_BUILD_TYPE ${EXTERNAL_BUILD_TYPE})
|
||||||
|
|
||||||
if (MSVC)
|
if (MINGW)
|
||||||
ExternalProject_Add(libsodium_project
|
set(LIBSODIUM_HOST --host=x86_64-w64-mingw32)
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
PREFIX ${LIBSODIUM_BUILD_ROOT}
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
URL https://github.com/jedisct1/libsodium/releases/download/${LIBSODIUM_VERSION}-RELEASE/libsodium-${LIBSODIUM_VERSION}.tar.gz
|
|
||||||
CONFIGURE_COMMAND echo "Skipping Configure"
|
|
||||||
BUILD_COMMAND cd builds\\msvc\\vs2019 && msbuild
|
|
||||||
libsodium.sln
|
|
||||||
/p:Configuration=Static${LIBSODIUM_BUILD_TYPE}
|
|
||||||
/p:Platform=x64
|
|
||||||
/t:libsodium
|
|
||||||
INSTALL_COMMAND echo "Skipping Install"
|
|
||||||
)
|
|
||||||
link_directories(PRIVATE ${LIBSODIUM_BUILD_ROOT}/src/libsodium_project/bin/x64/${LIBSODIUM_BUILD_TYPE}/v142/static)
|
|
||||||
set(LIBSODIUM_LIBRARIES libsodium.lib)
|
|
||||||
add_definitions(-DSODIUM_STATIC)
|
|
||||||
include_directories(SYSTEM
|
|
||||||
${LIBSODIUM_BUILD_ROOT}/src/libsodium_project/src/libsodium/include
|
|
||||||
${LIBSODIUM_BUILD_ROOT}/src/libsodium_project/builds/msvc
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
if (MINGW)
|
|
||||||
set(LIBSODIUM_HOST --host=x86_64-w64-mingw32)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(libsodium_project
|
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
PREFIX ${LIBSODIUM_BUILD_ROOT}
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
URL https://github.com/jedisct1/libsodium/releases/download/${LIBSODIUM_VERSION}-RELEASE/libsodium-${LIBSODIUM_VERSION}.tar.gz
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
./configure
|
|
||||||
${LIBSODIUM_HOST}
|
|
||||||
--prefix=${EXTERNAL_BUILD_ROOT}
|
|
||||||
--enable-shared=no
|
|
||||||
--enable-static=yes
|
|
||||||
--disable-asm
|
|
||||||
BUILD_COMMAND make
|
|
||||||
INSTALL_COMMAND make install
|
|
||||||
)
|
|
||||||
set(LIBSODIUM_LIBRARIES libsodium.a)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(libsodium_project
|
||||||
|
DOWNLOAD_NO_PROGRESS 1
|
||||||
|
PREFIX ${LIBSODIUM_BUILD_ROOT}
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
URL https://github.com/jedisct1/libsodium/releases/download/${LIBSODIUM_VERSION}-RELEASE/libsodium-${LIBSODIUM_VERSION}.tar.gz
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
./configure
|
||||||
|
${LIBSODIUM_HOST}
|
||||||
|
--prefix=${EXTERNAL_BUILD_ROOT}
|
||||||
|
--enable-shared=no
|
||||||
|
--enable-static=yes
|
||||||
|
--disable-asm
|
||||||
|
BUILD_COMMAND make
|
||||||
|
INSTALL_COMMAND make install
|
||||||
|
)
|
||||||
|
|
||||||
|
set(LIBSODIUM_LIBRARIES libsodium.a)
|
||||||
|
|
||||||
add_dependencies(libsodium_project zlib_project)
|
add_dependencies(libsodium_project zlib_project)
|
||||||
|
@ -1,45 +1,43 @@
|
|||||||
if (MACOS OR LINUX OR MINGW)
|
if (IS_CLANG_COMPILER)
|
||||||
if (IS_CLANG_COMPILER)
|
set(OPENSSL_COMPILE_TYPE_EXTRA -clang)
|
||||||
set(OPENSSL_COMPILE_TYPE_EXTRA -clang)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (MACOS)
|
|
||||||
set(OPENSSL_COMPILE_TYPE darwin64-x86_64-cc)
|
|
||||||
elseif(IS_ARM64)
|
|
||||||
set(OPENSSL_COMPILE_TYPE linux-aarch64${OPENSSL_COMPILE_TYPE_EXTRA})
|
|
||||||
elseif(MINGW)
|
|
||||||
if (CMAKE_TOOLCHAIN_FILE)
|
|
||||||
set(OPENSSL_COMPILE_TYPE --cross-compile-prefix=x86_64-w64-mingw32- mingw64${OPENSSL_COMPILE_TYPE_EXTRA})
|
|
||||||
else()
|
|
||||||
set(OPENSSL_COMPILE_TYPE mingw64${OPENSSL_COMPILE_TYPE_EXTRA})
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(OPENSSL_COMPILE_TYPE linux-x86_64${OPENSSL_COMPILE_TYPE_EXTRA})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OPENSSL_PROJECT_NAME openssl_${OPENSSL_VERSION})
|
|
||||||
set(OPENSSL_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${OPENSSL_PROJECT_NAME})
|
|
||||||
ExternalProject_Add(openssl_project
|
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
URL https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_${OPENSSL_VERSION}.tar.gz
|
|
||||||
PREFIX ${OPENSSL_BUILD_ROOT}
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND ./Configure no-shared ${OPENSSL_COMPILE_TYPE} --openssldir=${EXTERNAL_BUILD_ROOT}/ssl --prefix=${EXTERNAL_BUILD_ROOT}
|
|
||||||
BUILD_COMMAND make -j1
|
|
||||||
INSTALL_COMMAND make install
|
|
||||||
)
|
|
||||||
|
|
||||||
if (MACOS)
|
|
||||||
set(OPENSSL_LIBRARIES
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libssl.a
|
|
||||||
${EXTERNAL_BUILD_ROOT}/lib/libcrypto.a
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OPENSSL_LIBRARIES
|
|
||||||
libssl.a
|
|
||||||
libcrypto.a
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(openssl_project zlib_project)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (MACOS)
|
||||||
|
set(OPENSSL_COMPILE_TYPE darwin64-x86_64-cc)
|
||||||
|
elseif(IS_ARM64)
|
||||||
|
set(OPENSSL_COMPILE_TYPE linux-aarch64${OPENSSL_COMPILE_TYPE_EXTRA})
|
||||||
|
elseif(MINGW)
|
||||||
|
if (CMAKE_TOOLCHAIN_FILE)
|
||||||
|
set(OPENSSL_COMPILE_TYPE --cross-compile-prefix=x86_64-w64-mingw32- mingw64${OPENSSL_COMPILE_TYPE_EXTRA})
|
||||||
|
else()
|
||||||
|
set(OPENSSL_COMPILE_TYPE mingw64${OPENSSL_COMPILE_TYPE_EXTRA})
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(OPENSSL_COMPILE_TYPE linux-x86_64${OPENSSL_COMPILE_TYPE_EXTRA})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(OPENSSL_PROJECT_NAME openssl_${OPENSSL_VERSION})
|
||||||
|
set(OPENSSL_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${OPENSSL_PROJECT_NAME})
|
||||||
|
ExternalProject_Add(openssl_project
|
||||||
|
DOWNLOAD_NO_PROGRESS 1
|
||||||
|
URL https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_${OPENSSL_VERSION}.tar.gz
|
||||||
|
PREFIX ${OPENSSL_BUILD_ROOT}
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
CONFIGURE_COMMAND ./Configure no-shared ${OPENSSL_COMPILE_TYPE} --openssldir=${EXTERNAL_BUILD_ROOT}/ssl --prefix=${EXTERNAL_BUILD_ROOT}
|
||||||
|
BUILD_COMMAND make -j1
|
||||||
|
INSTALL_COMMAND make install
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MACOS)
|
||||||
|
set(OPENSSL_LIBRARIES
|
||||||
|
${EXTERNAL_BUILD_ROOT}/lib/libssl.a
|
||||||
|
${EXTERNAL_BUILD_ROOT}/lib/libcrypto.a
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
set(OPENSSL_LIBRARIES
|
||||||
|
libssl.a
|
||||||
|
libcrypto.a
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(openssl_project zlib_project)
|
||||||
|
@ -26,58 +26,40 @@ set(ROCKSDB_CMAKE_ARGS
|
|||||||
-DWITH_TOOLS=OFF
|
-DWITH_TOOLS=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if (MINGW)
|
||||||
|
if (CMAKE_TOOLCHAIN_FILE)
|
||||||
|
set(ROCKSDB_CMAKE_ARGS
|
||||||
|
${ROCKSDB_CMAKE_ARGS}
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(rocksdb_project
|
ExternalProject_Add(rocksdb_project
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
DOWNLOAD_NO_PROGRESS 1
|
||||||
URL https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz
|
URL https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz
|
||||||
PREFIX ${ROCKSDB_BUILD_ROOT}
|
PREFIX ${ROCKSDB_BUILD_ROOT}
|
||||||
CMAKE_ARGS ${ROCKSDB_CMAKE_ARGS}
|
CMAKE_ARGS ${ROCKSDB_CMAKE_ARGS} -DWITH_GFLAGS=OFF
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
||||||
)
|
)
|
||||||
|
|
||||||
set(ROCKSDB_INCLUDE_DIRS ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project/include)
|
set(ROCKSDB_LIBRARIES ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project-build/librocksdb.a)
|
||||||
|
include_directories(SYSTEM ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project/include)
|
||||||
if (CMAKE_GENERATOR_LOWER STREQUAL "nmake makefiles")
|
|
||||||
set(ROCKSDB_LIBRARIES ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project-build/rocksdb.lib)
|
|
||||||
else ()
|
|
||||||
set(ROCKSDB_LIBRARIES ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project-build/${CMAKE_BUILD_TYPE}/rocksdb.lib)
|
|
||||||
endif ()
|
|
||||||
else()
|
else()
|
||||||
if (MINGW)
|
ExternalProject_Add(rocksdb_project
|
||||||
if (CMAKE_TOOLCHAIN_FILE)
|
DOWNLOAD_NO_PROGRESS 1
|
||||||
set(ROCKSDB_CMAKE_ARGS
|
URL https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz
|
||||||
${ROCKSDB_CMAKE_ARGS}
|
PREFIX ${ROCKSDB_BUILD_ROOT}
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
CMAKE_ARGS ${ROCKSDB_CMAKE_ARGS} -DWITH_GFLAGS=OFF
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(rocksdb_project
|
if (MACOS)
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
set(ROCKSDB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/librocksdb.a)
|
||||||
URL https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz
|
|
||||||
PREFIX ${ROCKSDB_BUILD_ROOT}
|
|
||||||
CMAKE_ARGS ${ROCKSDB_CMAKE_ARGS} -DWITH_GFLAGS=OFF
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
|
||||||
)
|
|
||||||
|
|
||||||
set(ROCKSDB_LIBRARIES ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project-build/librocksdb.a)
|
|
||||||
include_directories(SYSTEM ${ROCKSDB_BUILD_ROOT}/src/rocksdb_project/include)
|
|
||||||
else()
|
else()
|
||||||
ExternalProject_Add(rocksdb_project
|
set(ROCKSDB_LIBRARIES librocksdb.a)
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
URL https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz
|
|
||||||
PREFIX ${ROCKSDB_BUILD_ROOT}
|
|
||||||
CMAKE_ARGS ${ROCKSDB_CMAKE_ARGS} -DWITH_GFLAGS=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
if (MACOS)
|
|
||||||
set(ROCKSDB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/librocksdb.a)
|
|
||||||
else()
|
|
||||||
set(ROCKSDB_LIBRARIES librocksdb.a)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC OR LINUX OR MINGW)
|
if (LINUX OR MINGW)
|
||||||
add_dependencies(rocksdb_project curl_project)
|
add_dependencies(rocksdb_project curl_project)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -4,58 +4,33 @@ if (REPERTORY_ENABLE_TESTING)
|
|||||||
|
|
||||||
set(GTEST_PROJECT_NAME gtest_${GTEST_VERSION})
|
set(GTEST_PROJECT_NAME gtest_${GTEST_VERSION})
|
||||||
set(GTEST_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${GTEST_PROJECT_NAME})
|
set(GTEST_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${GTEST_PROJECT_NAME})
|
||||||
if (MSVC)
|
if (MACOS)
|
||||||
ExternalProject_Add(gtest_project
|
set(GTEST_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
set(GTEST_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
|
||||||
URL https://github.com/google/googletest/archive/refs/tags/${GTEST_VERSION}.tar.gz
|
|
||||||
PREFIX ${GTEST_BUILD_ROOT}
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
|
|
||||||
-DCMAKE_BUILD_TYPE=${EXTERNAL_BUILD_TYPE}
|
|
||||||
-Dgtest_force_shared_crt=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=ON
|
|
||||||
-DCMAKE_CXX_FLAGS=/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
|
||||||
)
|
|
||||||
else()
|
else()
|
||||||
if (MACOS)
|
set(GTEST_C_FLAGS ${CMAKE_C_FLAGS})
|
||||||
set(GTEST_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
set(GTEST_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
||||||
set(GTEST_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
|
|
||||||
else()
|
|
||||||
set(GTEST_C_FLAGS ${CMAKE_C_FLAGS})
|
|
||||||
set(GTEST_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add(gtest_project
|
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
|
||||||
URL https://github.com/google/googletest/archive/refs/tags/${GTEST_VERSION}.tar.gz
|
|
||||||
PREFIX ${GTEST_BUILD_ROOT}
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
|
||||||
-DCMAKE_C_FLAGS=${GTEST_C_FLAGS}
|
|
||||||
-DCMAKE_CXX_FLAGS=${GTEST_CXX_FLAGS}
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
|
|
||||||
-DCMAKE_BUILD_TYPE=${EXTERNAL_BUILD_TYPE}
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
ExternalProject_Add(gtest_project
|
||||||
|
DOWNLOAD_NO_PROGRESS 1
|
||||||
|
URL https://github.com/google/googletest/archive/refs/tags/${GTEST_VERSION}.tar.gz
|
||||||
|
PREFIX ${GTEST_BUILD_ROOT}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
|
-DCMAKE_C_FLAGS=${GTEST_C_FLAGS}
|
||||||
|
-DCMAKE_CXX_FLAGS=${GTEST_CXX_FLAGS}
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
|
||||||
|
-DCMAKE_BUILD_TYPE=${EXTERNAL_BUILD_TYPE}
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
|
||||||
|
)
|
||||||
|
|
||||||
set(GTEST_INCLUDE_DIRS
|
set(GTEST_INCLUDE_DIRS
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project/googletest/include
|
${GTEST_BUILD_ROOT}/src/gtest_project/googletest/include
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project/googlemock/include
|
${GTEST_BUILD_ROOT}/src/gtest_project/googlemock/include
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if(UNIX OR MINGW)
|
||||||
if (NOT CMAKE_GENERATOR_LOWER STREQUAL "nmake makefiles")
|
|
||||||
set (GTEST_PATH_EXTRA ${CMAKE_BUILD_TYPE}/)
|
|
||||||
endif()
|
|
||||||
set(GTEST_LIBRARIES
|
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/${GTEST_PATH_EXTRA}gmock${DEBUG_EXTRA}.lib
|
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/${GTEST_PATH_EXTRA}gmock_main${DEBUG_EXTRA}.lib
|
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/${GTEST_PATH_EXTRA}gtest${DEBUG_EXTRA}.lib
|
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/${GTEST_PATH_EXTRA}gtest_main${DEBUG_EXTRA}.lib
|
|
||||||
)
|
|
||||||
elseif (UNIX OR MINGW)
|
|
||||||
set(GTEST_LIBRARIES
|
set(GTEST_LIBRARIES
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/libgmock.a
|
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/libgmock.a
|
||||||
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/libgtest.a
|
${GTEST_BUILD_ROOT}/src/gtest_project-build/lib/libgtest.a
|
||||||
@ -87,28 +62,5 @@ if (REPERTORY_ENABLE_TESTING)
|
|||||||
)
|
)
|
||||||
target_link_libraries(unittests PRIVATE ${GTEST_LIBRARIES})
|
target_link_libraries(unittests PRIVATE ${GTEST_LIBRARIES})
|
||||||
|
|
||||||
if (MSVC)
|
add_test(NAME AllTests COMMAND unittests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
|
||||||
add_custom_command(TARGET unittests
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${GTEST_BUILD_ROOT}/src/gtest_project-build/bin/${GTEST_PATH_EXTRA}gmock${DEBUG_EXTRA}.dll ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_PATH_EXTRA}
|
|
||||||
)
|
|
||||||
add_custom_command(TARGET unittests
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${GTEST_BUILD_ROOT}/src/gtest_project-build/bin/${GTEST_PATH_EXTRA}gmock_main${DEBUG_EXTRA}.dll ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_PATH_EXTRA}
|
|
||||||
)
|
|
||||||
add_custom_command(TARGET unittests
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${GTEST_BUILD_ROOT}/src/gtest_project-build/bin/${GTEST_PATH_EXTRA}gtest${DEBUG_EXTRA}.dll ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_PATH_EXTRA}
|
|
||||||
)
|
|
||||||
add_custom_command(TARGET unittests
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${GTEST_BUILD_ROOT}/src/gtest_project-build/bin/${GTEST_PATH_EXTRA}gtest_main${DEBUG_EXTRA}.dll ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_PATH_EXTRA}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (CMAKE_GENERATOR_LOWER STREQUAL "nmake makefiles")
|
|
||||||
add_test(NAME AllTests COMMAND unittests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
||||||
else()
|
|
||||||
add_test(NAME AllTests COMMAND unittests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
set(BOOST_MAJOR_VERSION 1)
|
set(BOOST_MAJOR_VERSION 1)
|
||||||
set(BOOST_MINOR_VERSION 83)
|
set(BOOST_MINOR_VERSION 83)
|
||||||
set(BOOST_MSVC_TOOLSET msvc-14.2)
|
|
||||||
set(BOOST_MSVC_TOOLSET_DLL 142)
|
|
||||||
set(BOOST_REVISION 0)
|
set(BOOST_REVISION 0)
|
||||||
set(BOOST_VERSION ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_REVISION})
|
set(BOOST_VERSION ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_REVISION})
|
||||||
set(BOOST_VERSION_DL ${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_REVISION})
|
set(BOOST_VERSION_DL ${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_REVISION})
|
||||||
|
@ -24,9 +24,7 @@ ExternalProject_Add(zlib_project
|
|||||||
CMAKE_ARGS ${ZLIB_CMAKE_ARGS}
|
CMAKE_ARGS ${ZLIB_CMAKE_ARGS}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if(MINGW)
|
||||||
set(ZLIB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/zlibstatic${DEBUG_EXTRA}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
|
||||||
elseif(MINGW)
|
|
||||||
set(ZLIB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/libzlibstatic${CMAKE_STATIC_LIBRARY_SUFFIX})
|
set(ZLIB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/libzlibstatic${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
else()
|
else()
|
||||||
set(ZLIB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/libz${CMAKE_STATIC_LIBRARY_SUFFIX})
|
set(ZLIB_LIBRARIES ${EXTERNAL_BUILD_ROOT}/lib/libz${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
|
@ -1,115 +0,0 @@
|
|||||||
@echo off
|
|
||||||
setlocal
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
|
|
||||||
set SIGNING_FOLDER=%1
|
|
||||||
set BINARY_FOLDER=%2
|
|
||||||
set SOURCE_FOLDER=%3
|
|
||||||
set OUTPUT_FOLDER=%4
|
|
||||||
|
|
||||||
set PATH=%~dp0%..\bin;!PATH!
|
|
||||||
|
|
||||||
if "%SIGNING_FOLDER%" == "" (
|
|
||||||
call :EXIT_SCRIPT "'SIGNING_FOLDER' is not set (arg1)"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%BINARY_FOLDER%" == "" (
|
|
||||||
call :EXIT_SCRIPT "'BINARY_FOLDER' is not set (arg2)"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%SOURCE_FOLDER%" == "" (
|
|
||||||
call :EXIT_SCRIPT "'SOURCE_FOLDER' is not set (arg3)"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%OUTPUT_FOLDER%" == "" (
|
|
||||||
call :EXIT_SCRIPT "'OUTPUT_FOLDER' is not set (arg4)"
|
|
||||||
)
|
|
||||||
|
|
||||||
call :NORMALIZE "%SIGNING_FOLDER%"
|
|
||||||
set SIGNING_FOLDER=%RETVAL%
|
|
||||||
|
|
||||||
call :NORMALIZE "%BINARY_FOLDER%"
|
|
||||||
set BINARY_FOLDER=%RETVAL%
|
|
||||||
|
|
||||||
call :NORMALIZE "%SOURCE_FOLDER%"
|
|
||||||
set SOURCE_FOLDER=%RETVAL%
|
|
||||||
|
|
||||||
set BUILD_ARCH=Win64
|
|
||||||
set OPENSSL_BIN="c:\OpenSSL-%BUILD_ARCH%\bin\openssl.exe"
|
|
||||||
if NOT EXIST %OPENSSL_BIN% (
|
|
||||||
set OPENSSL_BIN="c:\Program Files\OpenSSL-%BUILD_ARCH%\bin\openssl.exe"
|
|
||||||
set REPERTORY_OPENSSL_ROOT="c:\Program Files\OpenSSL-%BUILD_ARCH%"
|
|
||||||
)
|
|
||||||
|
|
||||||
pushd "%SOURCE_FOLDER%"
|
|
||||||
for /F "tokens=*" %%f in ('git rev-parse --short HEAD') do (set GIT_REV=%%f)
|
|
||||||
for /F "tokens=*" %%f in ('git branch --show-current') do (set GIT_BRANCH=%%f)
|
|
||||||
for /F "tokens=*" %%f in ('grep set(REPERTORY_MAJOR .\CMakeLists.txt ^| sed "s/)//g" ^| awk "{print $2}"') do (set REPERTORY_VERSION=%%f)
|
|
||||||
for /F "tokens=*" %%f in ('grep set(REPERTORY_MINOR .\CMakeLists.txt ^| sed "s/)//g" ^| awk "{print $2}"') do (set REPERTORY_VERSION=%REPERTORY_VERSION%.%%f)
|
|
||||||
for /F "tokens=*" %%f in ('grep set(REPERTORY_REV .\CMakeLists.txt ^| sed "s/)//g" ^| awk "{print $2}"') do (set REPERTORY_VERSION=%REPERTORY_VERSION%.%%f)
|
|
||||||
for /F "tokens=*" %%f in ('grep set(REPERTORY_RELEASE_ITER .\CMakeLists.txt ^| sed "s/)//g" ^| awk "{print $2}"') do (set REPERTORY_VERSION=%REPERTORY_VERSION%-%%f)
|
|
||||||
popd
|
|
||||||
|
|
||||||
if "%GIT_BRANCH%" == "development" (
|
|
||||||
set RELEASE_FOLDER=nightly
|
|
||||||
) else (
|
|
||||||
set RELEASE_FOLDER=%REPERTORY_RELEASE_ITER%
|
|
||||||
)
|
|
||||||
|
|
||||||
call :NORMALIZE "%OUTPUT_FOLDER%\!RELEASE_FOLDER!"
|
|
||||||
set OUTPUT_FOLDER=%RETVAL%
|
|
||||||
|
|
||||||
set OUT_FILE=repertory_%REPERTORY_VERSION%_%GIT_REV%_windows_amd64.zip
|
|
||||||
set OUT_ZIP=%BINARY_FOLDER%\%OUT_FILE%
|
|
||||||
set FILE_LIST=repertory.exe repertory.exe.sha256 repertory.exe.sig winfsp-x64.dll winfsp-x64.dll.sha256 winfsp-x64.dll.sig cacert.pem cacert.pem.sha256 cacert.pem.sig
|
|
||||||
|
|
||||||
pushd "%BINARY_FOLDER%"
|
|
||||||
call :CLEANUP
|
|
||||||
|
|
||||||
call :CREATE_HASH "%BINARY_FOLDER%\repertory.exe"
|
|
||||||
call :CREATE_HASH "%BINARY_FOLDER%\winfsp-x64.dll"
|
|
||||||
call :CREATE_HASH "%BINARY_FOLDER%\cacert.pem"
|
|
||||||
|
|
||||||
(7za u "%OUT_FILE%" %FILE_LIST%) || (7z u "%OUT_FILE%" %FILE_LIST%) || (call :EXIT_SCRIPT "Create repertory zip failed")
|
|
||||||
|
|
||||||
call :CREATE_HASH "%OUT_FILE%"
|
|
||||||
|
|
||||||
copy /y "%OUT_ZIP%" "%OUTPUT_FOLDER%" || call :EXIT_SCRIPT "Copy %OUT_ZIP% to %OUTPUT_FOLDER% failed"
|
|
||||||
copy /y "%OUT_ZIP%.sha256" "%OUTPUT_FOLDER%" || call :EXIT_SCRIPT "Copy %OUT_ZIP%.sha256 to %OUTPUT_FOLDER% failed"
|
|
||||||
copy /y "%OUT_ZIP%.sig" "%OUTPUT_FOLDER%" || call :EXIT_SCRIPT "Copy %OUT_ZIP%.sig to %OUTPUT_FOLDER% failed"
|
|
||||||
|
|
||||||
call :CLEANUP
|
|
||||||
popd
|
|
||||||
goto :END
|
|
||||||
|
|
||||||
:CREATE_HASH
|
|
||||||
call :NORMALIZE %1
|
|
||||||
set HASH_FILE=%RETVAL%
|
|
||||||
|
|
||||||
(%OPENSSL_BIN% dgst -sha256 -sign "%SIGNING_FOLDER%\blockstorage_dev_private.pem" -out "%HASH_FILE%.sig" "%HASH_FILE%") || (call :EXIT_SCRIPT "Create %HASH_FILE% signature failed")
|
|
||||||
(%OPENSSL_BIN% dgst -sha256 -verify "%SIGNING_FOLDER%\blockstorage_dev_public.pem" -signature "%HASH_FILE%.sig" "%HASH_FILE%") || (call :EXIT_SCRIPT "Verify %HASH_FILE% signature failed")
|
|
||||||
((certutil -hashfile "%HASH_FILE%" SHA256 | sed -e "1d" -e "$d" -e "s/\ //g") > "%HASH_FILE%.sha256") || (call :EXIT_SCRIPT "Create %HASH_FILE% sha-256 failed")
|
|
||||||
EXIT /B
|
|
||||||
|
|
||||||
:CLEANUP
|
|
||||||
del /q "%OUT_ZIP%" 1>NUL 2>&1
|
|
||||||
del /q "%OUT_ZIP%.sha256" 1>NUL 2>&1
|
|
||||||
del /q "%OUT_ZIP%.sig" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\cacert.pem.sha256" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\cacert.pem.sig" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\repertory.exe.sha256" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\repertory.exe.sig" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\winfsp-x64.dll.sha256" 1>NUL 2>&1
|
|
||||||
del /q "%BINARY_FOLDER%\winfsp-x64.dll.sig" 1>NUL 2>&1
|
|
||||||
EXIT /B
|
|
||||||
|
|
||||||
:NORMALIZE
|
|
||||||
SET RETVAL=%~f1
|
|
||||||
exit /B
|
|
||||||
|
|
||||||
:EXIT_SCRIPT
|
|
||||||
echo %1
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
:END
|
|
||||||
echo Done
|
|
@ -1,44 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
set MSVC_BUILD_TYPE=%1
|
|
||||||
set BUILD_CLEAN=%2
|
|
||||||
|
|
||||||
if "%MSVC_BUILD_TYPE%" == "" (
|
|
||||||
echo "Build type not set"
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%MSVC_BUILD_TYPE%" == "Debug" (
|
|
||||||
set BUILD_FOLDER=debug
|
|
||||||
) else (
|
|
||||||
if "%MSVC_BUILD_TYPE%" == "Release" (
|
|
||||||
set BUILD_FOLDER=release
|
|
||||||
) else (
|
|
||||||
set BUILD_FOLDER=%MSVC_BUILD_TYPE%
|
|
||||||
)
|
|
||||||
set MSVC_BUILD_TYPE=Release
|
|
||||||
)
|
|
||||||
|
|
||||||
if EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" (
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
|
||||||
) else (
|
|
||||||
if EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" (
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
pushd "%~dp0%"
|
|
||||||
md ..\build2\%BUILD_FOLDER%
|
|
||||||
del /q ..\build2\%BUILD_FOLDER%\librepertory.lib
|
|
||||||
del /q ..\build2\%BUILD_FOLDER%\repertory.exe
|
|
||||||
del /q ..\build2\%BUILD_FOLDER%\unittests.exe
|
|
||||||
|
|
||||||
pushd "..\build2\%BUILD_FOLDER%"
|
|
||||||
cmake ..\.. -G "NMake Makefiles" -DREPERTORY_ENABLE_S3_TESTING=ON -DREPERTORY_ENABLE_S3=ON -DCMAKE_BUILD_TYPE=%MSVC_BUILD_TYPE% || exit 1
|
|
||||||
copy /y compile_commands.json ..
|
|
||||||
if "%BUILD_CLEAN%" == "clean" (
|
|
||||||
nmake clean || exit 1
|
|
||||||
)
|
|
||||||
nmake || exit 1
|
|
||||||
popd
|
|
||||||
popd
|
|
Loading…
x
Reference in New Issue
Block a user