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