Warning, /graphics/krita/3rdparty/ext_boost/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 SET(PREFIX_ext_boost "${EXTPREFIX}" )
0002 if(WIN32)
0003    if(MINGW)
0004 
0005     string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1"
0006            KRITA_boost_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
0007 
0008    ExternalProject_Add(
0009        ext_boost
0010 
0011        DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0012 
0013        URL https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
0014         URL_HASH SHA256=4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
0015 
0016        PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Fix-Krita-builds-with-Clang.patch
0017              COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Fix-building-Boost.Build-with-a-chosen-toolset.patch
0018              COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Fix-compilation-with-clang-15.patch
0019 
0020        CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.bat gcc --prefix=${PREFIX_ext_boost}
0021        BUILD_COMMAND <SOURCE_DIR>/b2.exe -j${SUBMAKE_JOBS} linkflags=${SECURITY_SHARED_LINKER_FLAGS} --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=gcc variant=release link=shared threading=multi architecture=x86 address-model=64 install
0022        INSTALL_COMMAND ""
0023        INSTALL_DIR ${PREFIX_ext_boost}
0024 
0025        UPDATE_COMMAND ""
0026        BUILD_IN_SOURCE 1
0027    )
0028    ExternalProject_Add_Step(
0029        ext_boost
0030        post_install
0031        COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/libboost_system-mgw${KRITA_boost_COMPILER_VERSION}-mt-x64-1_80.dll ${PREFIX_ext_boost}/bin/
0032        DEPENDEES install
0033    )
0034    if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
0035     message(STATUS "Applying Clang override to Boost...")
0036     set(_user_config "using gcc : : ${CMAKE_CXX_COMPILER} ;")
0037     file(WRITE 
0038       ${CMAKE_CURRENT_BINARY_DIR}/user-config.jam
0039       "${_user_config}"
0040     )
0041     ExternalProject_Add_Step(
0042         ext_boost
0043         configure_clang_mingw
0044         COMMAND ${CMAKE_COMMAND} -E rm <SOURCE_DIR>/project-config.jam
0045         DEPENDEES configure
0046         DEPENDERS build
0047     )
0048     ExternalProject_Add_Step(
0049         ext_boost
0050         patch_clang_mingw
0051         COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/user-config.jam <SOURCE_DIR>/tools/build/src/user-config.jam
0052         DEPENDEES patch
0053         DEPENDERS configure
0054     )
0055    endif()
0056    else()
0057       # Boost.Build cannot append arbitrary flags to MSVC from the command line.
0058       # It becomes unable to detect the target architecture or defaults to x86 only.
0059       # On top of that, parameterizing the linkflags flag breaks the MinGW build.
0060       ExternalProject_Add(
0061         ext_boost
0062         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0063 
0064         URL https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
0065         URL_HASH SHA256=4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
0066 
0067         CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.bat msvc --prefix=${PREFIX_ext_boost}
0068         BUILD_COMMAND <SOURCE_DIR>/b2.exe -j${SUBMAKE_JOBS} --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=msvc variant=release link=shared threading=multi architecture=x86 install
0069         INSTALL_COMMAND ""
0070         INSTALL_DIR ${EXTPREFIX_boost}
0071 
0072         UPDATE_COMMAND ""
0073         BUILD_IN_SOURCE 1
0074       )
0075       if (NOT DEFINED MSVC_TOOLSET_VERSION)
0076         string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" KRITA_boost_COMPILER ${CMAKE_CXX_COMPILER})
0077         string(REGEX REPLACE "^([0-9]+)\\.([0-9]).+$" "\\1\\2"
0078         KRITA_boost_COMPILER_VERSION ${KRITA_boost_COMPILER})
0079       else()
0080         set(KRITA_boost_COMPILER_VERSION ${MSVC_TOOLSET_VERSION})
0081       endif()
0082       ExternalProject_Add_Step(
0083         ext_boost
0084         post_install
0085         COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/boost_system-vc${KRITA_boost_COMPILER_VERSION}-mt-x32-1_80.dll ${PREFIX_ext_boost}/bin/
0086             COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/boost_system-vc${KRITA_boost_COMPILER_VERSION}-mt-x64-1_80.dll ${PREFIX_ext_boost}/bin/
0087         DEPENDEES install
0088       )
0089    endif()
0090 elseif(ANDROID)
0091     ExternalProject_Add( ext_boost
0092         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0093         URL https://github.com/moritz-wundke/Boost-for-Android/archive/4067aed71278e292d1b78d8a13431f01f80012f1.tar.gz
0094         URL_HASH SHA256=e43f43b33e79741c393cb84c277ff0a5fdb38e775f082d576c62938ef08fb3b3
0095 
0096         PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Support-Android-NDK-r22b.patch
0097 
0098         CONFIGURE_COMMAND ""
0099         BUILD_COMMAND <SOURCE_DIR>/build-android.sh --prefix=${PREFIX_ext_boost} --with-libraries=system --boost=1.80.0 --arch=${ANDROID_ABI} ${CMAKE_ANDROID_NDK}
0100         INSTALL_COMMAND ""
0101         INSTALL_DIR ${PREFIX_ext_boost}
0102 
0103         UPDATE_COMMAND ""
0104         BUILD_IN_SOURCE 1
0105     )
0106     ExternalProject_Add_Step(
0107        ext_boost
0108        post_install
0109        COMMAND sh -c "cp ${PREFIX_ext_boost}/${ANDROID_ABI}/lib/libboost_system-*-1_80.a ${PREFIX_ext_boost}/${ANDROID_ABI}/lib/libboost_system.a"
0110        DEPENDEES install
0111    )
0112 else()
0113   if(APPLE)
0114       set(MACOS_BOOST_ARGS architecture=arm+x86 cxxflags=${MACOS_ARCH_FLAGS})
0115   endif()
0116         ExternalProject_Add( ext_boost
0117                 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0118           URL https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
0119           URL_HASH SHA256=4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
0120 
0121           PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Fix-compilation-with-clang-15.patch
0122 
0123                 CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh --prefix=${PREFIX_ext_boost} --with-libraries=system
0124                 BUILD_COMMAND <SOURCE_DIR>/b2 ${MACOS_BOOST_ARGS} -j${SUBMAKE_JOBS} install
0125                 INSTALL_COMMAND ""
0126                 INSTALL_DIR ${PREFIX_ext_boost}
0127 
0128                 UPDATE_COMMAND ""
0129                 BUILD_IN_SOURCE 1
0130 )
0131 endif()