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()