diff --git a/cmake/flags.cmake b/cmake/flags.cmake index c73b6b38..97fe7d62 100644 --- a/cmake/flags.cmake +++ b/cmake/flags.cmake @@ -60,7 +60,7 @@ list(APPEND PROJECT_CFLAGS_LIST list(APPEND PROJECT_CXXFLAGS_LIST ${PROJECT_COMMON_FLAG_LIST} -fext-numeric-literals - -std=c++${CMAKE_CXX_STANDARD} + -std=gnu++${CMAKE_CXX_STANDARD} ) if(PROJECT_STATIC_LINK) diff --git a/cmake/libraries/boost.cmake b/cmake/libraries/boost.cmake index 225a2aea..4dc2e0f5 100644 --- a/cmake/libraries/boost.cmake +++ b/cmake/libraries/boost.cmake @@ -69,12 +69,14 @@ if(PROJECT_ENABLE_BOOST) --prefix=${PROJECT_EXTERNAL_BUILD_ROOT} address-model=64 architecture=${BOOST_ARCH} - cxxflags=-std=c++${CMAKE_CXX_STANDARD} + cxxstd=20 + cxxstd-dialect=gnu + cxxflags=-std=gnu++${CMAKE_CXX_STANDARD} cxxstd=${CMAKE_CXX_STANDARD} define=BOOST_ASIO_HAS_STD_STRING_VIEW define=BOOST_SYSTEM_NO_DEPRECATED link=${BOOST_LINK} - linkflags=-std=c++${CMAKE_CXX_STANDARD} + linkflags=-std=gnu++${CMAKE_CXX_STANDARD} threading=multi variant=${BOOST_BUILD_TYPE_LOWER} ) diff --git a/cmake/versions.cmake b/cmake/versions.cmake index 8e98987a..ec773485 100644 --- a/cmake/versions.cmake +++ b/cmake/versions.cmake @@ -15,7 +15,7 @@ set(FLAC_VERSION 1.4.3) set(FMT_VERSION 10.2.1) set(FONTCONFIG_VERSION 2.15.0) set(FREETYPE2_VERSION 2.13.2) -set(GCC_VERSION 13.2.0) +set(GCC_VERSION 14.2.0) set(GTEST_VERSION 1.15.0) set(GTKMM_VERSION 3.0) set(ICU_VERSION 75-1) diff --git a/docker/x86_64/mingw64 b/docker/x86_64/mingw64 index a7c0acdf..0d21aa64 100644 --- a/docker/x86_64/mingw64 +++ b/docker/x86_64/mingw64 @@ -60,6 +60,9 @@ ENV MY_MINGW_PREFIX=${MINGW_PREFIX} ARG NUM_JOBS=2 ENV MY_NUM_JOBS=${NUM_JOBS} +ARG CXX_STANDARD=20 +ENV MY_CXX_STANDARD=${CXX_STANDARD} + ARG TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake ENV MY_TOOLCHAIN_FILE_CMAKE=${TOOLCHAIN_FILE_CMAKE} RUN echo -e \ @@ -106,10 +109,6 @@ RUN mkdir -p \ ${MY_MINGW_DIR}/lib/pkgconfig \ ${MY_MINGW_DIR}/lib64/pkgconfig -ENV LDFLAGS="-L${MY_MINGW_DIR}/lib -L${MY_MINGW_DIR}/lib64" -ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}" -ENV PKG_CONFIG_PATH="${MY_MINGW_DIR}/lib/pkgconfig:${MY_MINGW_DIR}/lib64/pkgconfig" - ADD ./3rd_party /3rd_party ARG BINUTILS_VERSION @@ -234,16 +233,23 @@ RUN python3 -m pip install --break-system-packages -U mako RUN python3 -m pip install --break-system-packages -U meson RUN python3 -m pip install --break-system-packages -U packaging +ENV CXXFLAGS="-std=gnu++20" +ENV LDFLAGS="-L${MY_MINGW_DIR}/lib -L${MY_MINGW_DIR}/lib64" +ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}" +ENV PKG_CONFIG_PATH="${MY_MINGW_DIR}/lib/pkgconfig:${MY_MINGW_DIR}/lib64/pkgconfig" + ARG ZLIB_VERSION ENV MY_ZLIB_VERSION=${ZLIB_VERSION} RUN tar xvzf /3rd_party/mingw64/zlib-${MY_ZLIB_VERSION}.tar.gz \ && cd zlib-${MY_ZLIB_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -256,14 +262,16 @@ RUN if [ -f "/3rd_party/libjpeg_turbo-${MY_LIBJPEG_TURBO_VERSION}.tar.gz" ]; the && cd libjpeg-turbo-${MY_LIBJPEG_TURBO_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_SYSTEM_PROCESSOR=AMD64 \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_SYSTEM_PROCESSOR=AMD64 \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DENABLE_SHARED=ON \ -DENABLE_STATIC=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -271,17 +279,19 @@ RUN if [ -f "/3rd_party/libjpeg_turbo-${MY_LIBJPEG_TURBO_VERSION}.tar.gz" ]; the ; fi ARG LIBPNG_VERSION -ENV MY_LIBPNG_VERSION=${LIBPNG_VERSION} +ENV MY_LIBPNG_VERSION=${LIBPNG_VERSION} RUN if [ -f "/3rd_party/libpng-v${MY_LIBPNG_VERSION}.tar.gz" ]; then \ tar xvzf /3rd_party/libpng-v${MY_LIBPNG_VERSION}.tar.gz \ && cd libpng-${MY_LIBPNG_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DPNG_SHARED=ON \ -DPNG_STATIC=ON \ -DPNG_TESTS=OFF \ @@ -315,10 +325,12 @@ RUN tar xvzf /3rd_party/mingw64/expat-${MY_EXPAT_VERSION}.tar.gz \ && cd expat-${MY_EXPAT_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DEXPAT_BUILD_DOCS=OFF \ -DEXPAT_BUILD_EXAMPLES=OFF \ -DEXPAT_BUILD_TESTS=OFF \ @@ -354,8 +366,10 @@ RUN if [ -f "/3rd_party/openal-${MY_OPENAL_VERSION}.tar.gz" ]; then \ && cd openal-soft-${MY_OPENAL_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && mv ${MY_MINGW_DIR}/bin/OpenAL32.dll ${MY_MINGW_DIR}/bin/openal32.dll \ @@ -368,7 +382,7 @@ ENV MY_ICU_VERSION=${ICU_VERSION} RUN tar xvzf /3rd_party/mingw64/icu-release-${MY_ICU_VERSION}.tar.gz \ && cp -r icu-release-${MY_ICU_VERSION} icu-release-${MY_ICU_VERSION}-cross \ && cd icu-release-${MY_ICU_VERSION}-cross/icu4c/source \ - && ./configure \ + && CXXFLAGS="-std=gnu++17" ./configure \ --disable-samples \ --disable-tests \ --enable-shared \ @@ -379,7 +393,7 @@ RUN tar xvzf /3rd_party/mingw64/icu-release-${MY_ICU_VERSION}.tar.gz \ RUN cd ${MY_WORKDIR} \ && cd icu-release-${MY_ICU_VERSION}/icu4c/source \ - && ./configure \ + && CXXFLAGS="-std=gnu++17" ./configure \ --build=x86_64-alpine-linux-musl \ --disable-samples \ --disable-tests \ @@ -426,6 +440,8 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST2_MAJOR_VERSION}_${MY_BOOST2_MINOR_VERSI && ./bootstrap.sh \ --with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread \ address-model=64 \ + cxxstd=${MY_CXX_STANDARD} \ + cxxstd-dialect=gnu \ architecture=x86 \ link=static,shared \ target-os=windows \ @@ -438,6 +454,8 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST2_MAJOR_VERSION}_${MY_BOOST2_MINOR_VERSI --prefix=${MY_MINGW_DIR} \ -j${MY_NUM_JOBS} \ address-model=64 \ + cxxstd=${MY_CXX_STANDARD} \ + cxxstd-dialect=gnu \ architecture=x86 \ link=static,shared \ target-os=windows \ @@ -465,6 +483,8 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST_MAJOR_VERSION}_${MY_BOOST_MINOR_VERSION --with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread \ address-model=64 \ architecture=x86 \ + cxxstd=${MY_CXX_STANDARD} \ + cxxstd-dialect=gnu \ link=static,shared \ target-os=windows \ threading=multi \ @@ -476,6 +496,8 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST_MAJOR_VERSION}_${MY_BOOST_MINOR_VERSION -j${MY_NUM_JOBS} \ address-model=64 \ architecture=x86 \ + cxxstd=${MY_CXX_STANDARD} \ + cxxstd-dialect=gnu \ link=static,shared \ target-os=windows \ threading=multi \ @@ -492,10 +514,12 @@ RUN if [ -f "/3rd_party/ogg-v${MY_OGG_VERSION}.tar.gz" ]; then \ && cd ogg-${MY_OGG_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -509,9 +533,11 @@ RUN if [ -f "/3rd_party/vorbis-v${MY_VORBIS_VERSION}.tar.gz" ]; then \ && cd vorbis-${MY_VORBIS_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -525,14 +551,16 @@ RUN if [ -f "/3rd_party/flac-${MY_FLAC_VERSION}.tar.gz" ]; then \ && cd flac-${MY_FLAC_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DBUILD_SHARED_LIBS=ON \ - -DBUILD_STATIC_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + && cmake .. \ + -DBUILD_DOCS=OFF \ -DBUILD_EXAMPLES=ON \ -DBUILD_PROGRAMS=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_STATIC_LIBS=ON \ -DBUILD_TESTING=OFF \ - -DBUILD_DOCS=OFF \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DINSTALL_MANPAGES=OFF \ && make -j${MY_NUM_JOBS} \ && make install \ @@ -551,10 +579,12 @@ RUN if [ -f "/3rd_party/SFML-${MY_SFML_VERSION}.tar.gz" ]; then \ cmake/Macros.cmake \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -568,9 +598,11 @@ RUN if [ -f "/3rd_party/spdlog-${MY_SPDLOG_VERSION}.tar.gz" ]; then \ && cd spdlog-${MY_SPDLOG_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + && cmake .. \ -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DSPDLOG_BUILD_EXAMPLE=OFF \ -DSPDLOG_FMT_EXTERNAL=OFF \ -DSPDLOG_FMT_EXTERNAL_HO=OFF \ @@ -587,15 +619,17 @@ RUN if [ -f "/3rd_party/CLI11-${MY_CLI11_VERSION}.tar.gz" ]; then \ && cd CLI11-${MY_CLI11_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ - -DCLI11_WARNINGS_AS_ERRORS=OFF \ - -DCLI11_SINGLE_FILE=ON \ + && cmake .. \ -DCLI11_BUILD_DOCS=OFF \ - -DCLI11_BUILD_TESTS=OFF \ -DCLI11_BUILD_EXAMPLES=OFF \ + -DCLI11_BUILD_TESTS=OFF \ -DCLI11_INSTALL=ON \ + -DCLI11_SINGLE_FILE=ON \ + -DCLI11_WARNINGS_AS_ERRORS=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -609,12 +643,14 @@ RUN if [ -f "/3rd_party/curl-${MY_CURL_VERSION}.tar.gz" ]; then \ && cd curl-${MY_CURL_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_CURL_EXE=ON \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_STATIC_LIBS=ON \ -DBUILD_TESTING=OFF \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DCURL_CA_BUNDLE=./cacert.pem \ -DCURL_CA_FALLBACK=ON \ -DCURL_DISABLE_LDAP=ON \ @@ -639,12 +675,14 @@ RUN if [ -f "/3rd_party/cpp-httplib-${MY_CPP_HTTPLIB_VERSION}.tar.gz" ]; then \ && cd cpp-httplib-${MY_CPP_HTTPLIB_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + -DHTTPLIB_REQUIRE_BROTLI=OFF \ -DHTTPLIB_REQUIRE_OPENSSL=ON \ -DHTTPLIB_REQUIRE_ZLIB=ON \ - -DHTTPLIB_REQUIRE_BROTLI=OFF \ -DHTTPLIB_TEST=OFF \ && make -j${MY_NUM_JOBS} \ && make install \ @@ -659,10 +697,12 @@ RUN if [ -f "/3rd_party/fmt-${MY_FMT_VERSION}.tar.gz" ]; then \ && cd fmt-${MY_FMT_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DFMT_DOC=OFF \ -DFMT_TEST=OFF \ && make -j${MY_NUM_JOBS} \ @@ -678,9 +718,11 @@ RUN if [ -f "/3rd_party/googletest-${MY_GTEST_VERSION}.tar.gz" ]; then \ && cd googletest-${MY_GTEST_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -694,9 +736,11 @@ RUN if [ -f "/3rd_party/json-${MY_JSON_VERSION}.tar.gz" ]; then \ && cd json-${MY_JSON_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DJSON_BuildTests=OFF \ -DJSON_Install=ON \ -DJSON_MultipleHeaders=OFF \ @@ -713,9 +757,11 @@ RUN if [ -f "/3rd_party/libevent-${MY_LIBEVENT_VERSION}-stable.tar.gz" ]; then \ && cd libevent-${MY_LIBEVENT_VERSION}-stable \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DEVENT__DISABLE_OPENSSL=ON \ -DEVENT__DISABLE_SAMPLES=ON \ -DEVENT__DISABLE_TESTS=ON \ @@ -749,11 +795,13 @@ RUN if [ -f "/3rd_party/nuspell-v${MY_NUSPELL_VERSION}.tar.gz" ]; then \ && cd nuspell-${MY_NUSPELL_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + && cmake .. \ -DBUILD_TESTING=OFF \ -DBUILD_TOOLS=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -767,9 +815,11 @@ RUN if [ -f "/3rd_party/pugixml-${MY_PUGIXML_VERSION}.tar.gz" ]; then \ && cd pugixml-${MY_PUGIXML_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -784,9 +834,11 @@ RUN if [ -f "/3rd_party/rocksdb-${MY_ROCKSDB_VERSION}.tar.gz" ]; then \ && echo -e "add_definitions(-include cstdint)">>CMakeLists.txt \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DFAIL_ON_WARNINGS=OFF \ -DPORTABLE=1 \ -DROCKSDB_INSTALL_ON_WINDOWS=ON \ @@ -832,9 +884,11 @@ RUN if [ -f "/3rd_party/stduuid-${MY_STDUUID_VERSION}.tar.gz" ]; then \ && cd stduuid-${MY_STDUUID_VERSION} \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DUUID_BUILD_TESTS=OFF \ -DUUID_ENABLE_INSTALL=ON \ -DUUID_USING_CXX20_SPAN=ON \ @@ -849,12 +903,14 @@ RUN if [ -f "/3rd_party/tiny-process-library.tar.gz" ]; then \ && cd tiny-process-library-master \ && mkdir build \ && cd build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DBUILD_TESTING=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ && make -j${MY_NUM_JOBS} \ && make install \ && cd ${MY_WORKDIR} \ @@ -868,11 +924,13 @@ RUN if [ -f "/3rd_party/wxWidgets-${MY_WXWIDGETS_VERSION}.tar.bz2" ]; then \ && cd wxWidgets-${MY_WXWIDGETS_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DwxBUILD_MONOLITHIC=OFF \ -DwxBUILD_SHARED=ON \ && make -j${MY_NUM_JOBS} \ @@ -888,11 +946,13 @@ RUN if [ -f "/3rd_party/cxxopts-v${MY_CXXOPTS_VERSION}.tar.gz" ]; then \ && cd cxxopts-${MY_CXXOPTS_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DCXXOPTS_BUILD_EXAMPLES=OFF \ -DCXXOPTS_BUILD_TESTS=OFF \ -DCXXOPTS_ENABLE_INSTALL=ON \ @@ -911,11 +971,13 @@ RUN if [ -f "/3rd_party/nana-v${MY_NANA_VERSION}.tar.gz" ]; then \ && cd nana-${MY_NANA_VERSION} \ && mkdir _build \ && cd _build \ - && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + && cmake .. \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \ -DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \ + -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ -DNANA_CMAKE_ENABLE_AUDIO=OFF \ -DNANA_CMAKE_ENABLE_JPEG=ON \ -DNANA_CMAKE_ENABLE_PNG=ON \ diff --git a/support/3rd_party/mingw64/gcc-13.2.0.tar.gz.sha256 b/support/3rd_party/mingw64/gcc-13.2.0.tar.gz.sha256 deleted file mode 100644 index 6f2819cd..00000000 --- a/support/3rd_party/mingw64/gcc-13.2.0.tar.gz.sha256 +++ /dev/null @@ -1 +0,0 @@ -8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078 gcc-13.2.0.tar.gz diff --git a/support/3rd_party/mingw64/gcc-13.2.0.tar.gz b/support/3rd_party/mingw64/gcc-14.2.0.tar.gz similarity index 86% rename from support/3rd_party/mingw64/gcc-13.2.0.tar.gz rename to support/3rd_party/mingw64/gcc-14.2.0.tar.gz index c88c4e3f..e5c2a901 100644 Binary files a/support/3rd_party/mingw64/gcc-13.2.0.tar.gz and b/support/3rd_party/mingw64/gcc-14.2.0.tar.gz differ diff --git a/support/3rd_party/mingw64/gcc-14.2.0.tar.gz.sha256 b/support/3rd_party/mingw64/gcc-14.2.0.tar.gz.sha256 new file mode 100644 index 00000000..c5176fb9 --- /dev/null +++ b/support/3rd_party/mingw64/gcc-14.2.0.tar.gz.sha256 @@ -0,0 +1 @@ +7d376d445f93126dc545e2c0086d0f647c3094aae081cdb78f42ce2bc25e7293 gcc-14.2.0.tar.gz