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