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

View File

@ -1,5 +1,18 @@
if (MINGW) if (MINGW)
include_directories(SYSTEM /mingw/include/boost-${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}) 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 set(Boost_LIBRARIES
/mingw64/lib/libboost_system.a /mingw64/lib/libboost_system.a
/mingw64/lib/libboost_atomic.a /mingw64/lib/libboost_atomic.a
@ -11,6 +24,7 @@ if (MINGW)
/mingw64/lib/libboost_serialization.a /mingw64/lib/libboost_serialization.a
/mingw64/lib/libboost_thread.a /mingw64/lib/libboost_thread.a
) )
endif()
else() else()
set(BOOST_VERSION ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION}) set(BOOST_VERSION ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION})
set(BOOST_VERSION2 ${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) if (MINGW)
find_package(CURL REQUIRED) find_package(CURL REQUIRED)
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) set(CURL_LIBRARIES /mingw64/lib/libcurl.a)
endif()
else() else()
set(CURL_PROJECT_NAME curl_${CURL_VERSION}) set(CURL_PROJECT_NAME curl_${CURL_VERSION})
set(CURL_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${CURL_PROJECT_NAME}) set(CURL_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${CURL_PROJECT_NAME})

View File

@ -1,7 +1,11 @@
if (MINGW) if (MINGW)
set(sodium_USE_STATIC_LIBS ON) set(sodium_USE_STATIC_LIBS ON)
find_package(Sodium REQUIRED) find_package(Sodium REQUIRED)
if (CMAKE_HOST_WIN32)
set(LIBSODIUM_LIBRARIES libsodium.a)
else()
set(LIBSODIUM_LIBRARIES /mingw64/lib/libsodium.a) set(LIBSODIUM_LIBRARIES /mingw64/lib/libsodium.a)
endif()
else() else()
set(LIBSODIUM_PROJECT_NAME libsodium_${LIBSODIUM_VERSION}) 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})

View File

@ -1,10 +1,17 @@
if (MINGW) if (MINGW)
set($ENV:{OPENSSL_ROOT_DIR} /mingw64) set($ENV:{OPENSSL_ROOT_DIR} /mingw64)
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
if (CMAKE_HOST_WIN32)
set(OPENSSL_LIBRARIES
libssl.a
libcrypto.a
)
else()
set(OPENSSL_LIBRARIES set(OPENSSL_LIBRARIES
/mingw64/lib64/libssl.a /mingw64/lib64/libssl.a
/mingw64/lib64/libcrypto.a /mingw64/lib64/libcrypto.a
) )
endif()
else() else()
if (IS_CLANG_COMPILER) if (IS_CLANG_COMPILER)
set(OPENSSL_COMPILE_TYPE_EXTRA -clang) 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) option(REPERTORY_ENABLE_S3 "Enable S3 mount support" OFF)
if (REPERTORY_ENABLE_S3) 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) option(REPERTORY_ENABLE_S3_TESTING "Enable S3 unit tests" OFF)
if (REPERTORY_ENABLE_S3_TESTING) 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 ()
endif() endif()

View File

@ -14,11 +14,19 @@ if (REPERTORY_ENABLE_TESTING)
if (MINGW) if (MINGW)
find_package(GTest REQUIRED) find_package(GTest REQUIRED)
if (CMAKE_HOST_WIN32)
set(GTEST_LIBRARIES
libgmock.a
libgtest.a
libgtest_main.a
)
else()
set(GTEST_LIBRARIES set(GTEST_LIBRARIES
/mingw64/lib/libgmock.a /mingw64/lib/libgmock.a
/mingw64/lib/libgtest.a /mingw64/lib/libgtest.a
/mingw64/lib/libgtest_main.a /mingw64/lib/libgtest_main.a
) )
endif()
else() else()
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})

View File

@ -1,6 +1,10 @@
if (MINGW) if (MINGW)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
if (CMAKE_HOST_WIN32)
set(ZLIB_LIBRARIES libz.a)
else()
set(ZLIB_LIBRARIES /mingw64/lib/libz.a) set(ZLIB_LIBRARIES /mingw64/lib/libz.a)
endif()
else() else()
set(ZLIB_PROJECT_NAME zlib_${ZLIB_VERSION}) set(ZLIB_PROJECT_NAME zlib_${ZLIB_VERSION})
set(ZLIB_BUILD_ROOT ${EXTERNAL_BUILD_ROOT}/builds/${ZLIB_PROJECT_NAME}) 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 -Sqyuu --noconfirm &&
pacman -S --noconfirm msys2-keyring && pacman -S --noconfirm --needed --disable-download-timeout msys2-keyring &&
pacman -S --noconfirm --needed --disable-download-timeout \ 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-cmake \
mingw64/mingw-w64-x86_64-curl \
mingw64/mingw-w64-x86_64-fmt \
mingw64/mingw-w64-x86_64-gcc \ mingw64/mingw-w64-x86_64-gcc \
mingw64/mingw-w64-x86_64-gdb \ 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-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-toolchain \
mingw64/mingw-w64-x86_64-vlc \
mingw64/mingw-w64-x86_64-wxwidgets3.2-msw \
mingw64/mingw-w64-x86_64-zlib \
msys/git \ msys/git \
make make