msys2 support

This commit is contained in:
Scott E. Graves 2024-01-30 13:23:14 -06:00
parent 99533a9687
commit 4089fca87c
10 changed files with 115 additions and 27 deletions

View File

@ -113,6 +113,8 @@ libaws
libbfb
libbfd
libboost_system
libbrotlicommon
libbrotlidec
libc
libcrypto
libcurl
@ -123,7 +125,9 @@ libgmock
libgtest
libhttpserver
libiberty
libiconv
libmicrohttpd
libnghttp2
libosxfuse
libpthread_library
librepertory
@ -131,7 +135,10 @@ librocksdb
libsframe_library
libsodium
libstdc
libuinstring
libunistring
libuuid
libwldap32
libz
libzlibstatic
libzstd

View File

@ -1,16 +1,30 @@
if (MINGW)
include_directories(SYSTEM /mingw/include/boost-${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION})
set(Boost_LIBRARIES
/mingw64/lib/libboost_system.a
/mingw64/lib/libboost_atomic.a
/mingw64/lib/libboost_chrono.a
/mingw64/lib/libboost_date_time.a
/mingw64/lib/libboost_filesystem.a
/mingw64/lib/libboost_random.a
/mingw64/lib/libboost_regex.a
/mingw64/lib/libboost_serialization.a
/mingw64/lib/libboost_thread.a
)
include_directories(SYSTEM /mingw64/include/boost-${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION})
if (CMAKE_HOST_WIN32)
set(Boost_LIBRARIES
libboost_system-mt.a
libboost_atomic-mt.a
libboost_chrono-mt.a
libboost_date_time-mt.a
libboost_filesystem-mt.a
libboost_random-mt.a
libboost_regex-mt.a
libboost_serialization-mt.a
libboost_thread-mt.a
)
else()
set(Boost_LIBRARIES
/mingw64/lib/libboost_system.a
/mingw64/lib/libboost_atomic.a
/mingw64/lib/libboost_chrono.a
/mingw64/lib/libboost_date_time.a
/mingw64/lib/libboost_filesystem.a
/mingw64/lib/libboost_random.a
/mingw64/lib/libboost_regex.a
/mingw64/lib/libboost_serialization.a
/mingw64/lib/libboost_thread.a
)
endif()
else()
set(BOOST_VERSION ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION})
set(BOOST_VERSION2 ${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_PATCH_VERSION})

View File

@ -1,6 +1,22 @@
if (MINGW)
find_package(CURL REQUIRED)
set(CURL_LIBRARIES /mingw64/lib/libcurl.a)
if (CMAKE_HOST_WIN32)
set(CURL_LIBRARIES
libcurl.a
libnghttp2.a
libidn2.a
libssh2.a
libpsl.a
libwldap32.a
libzstd.a
libunistring.a
libbrotlidec.a
libbrotlicommon.a
libiconv.a
)
else()
set(CURL_LIBRARIES /mingw64/lib/libcurl.a)
endif()
else()
set(CURL_PROJECT_NAME curl_${CURL_VERSION})
set(CURL_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${CURL_PROJECT_NAME})

View File

@ -1,7 +1,11 @@
if (MINGW)
set(sodium_USE_STATIC_LIBS ON)
find_package(Sodium REQUIRED)
set(LIBSODIUM_LIBRARIES /mingw64/lib/libsodium.a)
if (CMAKE_HOST_WIN32)
set(LIBSODIUM_LIBRARIES libsodium.a)
else()
set(LIBSODIUM_LIBRARIES /mingw64/lib/libsodium.a)
endif()
else()
set(LIBSODIUM_PROJECT_NAME libsodium_${LIBSODIUM_VERSION})
set(LIBSODIUM_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${LIBSODIUM_PROJECT_NAME})

View File

@ -1,10 +1,17 @@
if (MINGW)
set($ENV:{OPENSSL_ROOT_DIR} /mingw64)
find_package(OpenSSL REQUIRED)
set(OPENSSL_LIBRARIES
/mingw64/lib64/libssl.a
/mingw64/lib64/libcrypto.a
)
if (CMAKE_HOST_WIN32)
set(OPENSSL_LIBRARIES
libssl.a
libcrypto.a
)
else()
set(OPENSSL_LIBRARIES
/mingw64/lib64/libssl.a
/mingw64/lib64/libcrypto.a
)
endif()
else()
if (IS_CLANG_COMPILER)
set(OPENSSL_COMPILE_TYPE_EXTRA -clang)

View File

@ -2,10 +2,16 @@ option(REPERTORY_ENABLE_TESTING "Enable testing" ON)
option(REPERTORY_ENABLE_S3 "Enable S3 mount support" OFF)
if (REPERTORY_ENABLE_S3)
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -DREPERTORY_ENABLE_S3)
set(REPERTORY_DEFINITIONS
${REPERTORY_DEFINITIONS}
-DREPERTORY_ENABLE_S3
)
option(REPERTORY_ENABLE_S3_TESTING "Enable S3 unit tests" OFF)
if (REPERTORY_ENABLE_S3_TESTING)
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -DREPERTORY_ENABLE_S3_TESTING)
set(REPERTORY_DEFINITIONS
${REPERTORY_DEFINITIONS}
-DREPERTORY_ENABLE_S3_TESTING
)
endif ()
endif()

View File

@ -14,11 +14,19 @@ if (REPERTORY_ENABLE_TESTING)
if (MINGW)
find_package(GTest REQUIRED)
set(GTEST_LIBRARIES
/mingw64/lib/libgmock.a
/mingw64/lib/libgtest.a
/mingw64/lib/libgtest_main.a
)
if (CMAKE_HOST_WIN32)
set(GTEST_LIBRARIES
libgmock.a
libgtest.a
libgtest_main.a
)
else()
set(GTEST_LIBRARIES
/mingw64/lib/libgmock.a
/mingw64/lib/libgtest.a
/mingw64/lib/libgtest_main.a
)
endif()
else()
set(GTEST_PROJECT_NAME gtest_${GTEST_VERSION})
set(GTEST_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${GTEST_PROJECT_NAME})

View File

@ -1,6 +1,10 @@
if (MINGW)
find_package(ZLIB REQUIRED)
set(ZLIB_LIBRARIES /mingw64/lib/libz.a)
if (CMAKE_HOST_WIN32)
set(ZLIB_LIBRARIES libz.a)
else()
set(ZLIB_LIBRARIES /mingw64/lib/libz.a)
endif()
else()
set(ZLIB_PROJECT_NAME zlib_${ZLIB_VERSION})
set(ZLIB_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${ZLIB_PROJECT_NAME})

6
scripts/setup_msys2.cmd Normal file
View File

@ -0,0 +1,6 @@
@echo off
pushd "%~dp0%"
call mingw64 -no-start ./setup_msys2.sh
call mingw64 -no-start ./setup_msys2.sh
popd

View File

@ -1,10 +1,26 @@
#!/bin/bash
pacman -Sqyuu --noconfirm &&
pacman -S --noconfirm msys2-keyring &&
pacman -S --noconfirm --needed --disable-download-timeout msys2-keyring &&
pacman -S --noconfirm --needed --disable-download-timeout \
mingw64/mingw-w64-x86_64-boost \
mingw64/mingw-w64-x86_64-clang-tools-extra \
mingw64/mingw-w64-x86_64-cmake \
mingw64/mingw-w64-x86_64-curl \
mingw64/mingw-w64-x86_64-fmt \
mingw64/mingw-w64-x86_64-gcc \
mingw64/mingw-w64-x86_64-gdb \
mingw64/mingw-w64-x86_64-gtest \
mingw64/mingw-w64-x86_64-gtkmm3 \
mingw64/mingw-w64-x86_64-libsodium \
mingw64/mingw-w64-x86_64-make \
mingw64/mingw-w64-x86_64-openssl \
mingw64/mingw-w64-x86_64-sfml \
mingw64/mingw-w64-x86_64-spdlog \
mingw64/mingw-w64-x86_64-sqlite3 \
mingw64/mingw-w64-x86_64-toolchain \
mingw64/mingw-w64-x86_64-vlc \
mingw64/mingw-w64-x86_64-wxwidgets3.2-msw \
mingw64/mingw-w64-x86_64-zlib \
msys/git \
make