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