deps-macos.cmake 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. # This ensures dependencies don't use SDK features which are not available in the version specified by Deployment target
  2. # That can happen when one uses a recent SDK but specifies an older Deployment target
  3. set(DEP_WERRORS_SDK "-Werror=partial-availability -Werror=unguarded-availability -Werror=unguarded-availability-new")
  4. set(DEP_CMAKE_OPTS
  5. "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
  6. "-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}"
  7. "-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}"
  8. "-DCMAKE_CXX_FLAGS=${DEP_WERRORS_SDK}"
  9. "-DCMAKE_C_FLAGS=${DEP_WERRORS_SDK}"
  10. )
  11. include("deps-unix-common.cmake")
  12. set(DEP_BOOST_OSX_TARGET "")
  13. if (CMAKE_OSX_DEPLOYMENT_TARGET)
  14. set(DEP_BOOST_OSX_TARGET "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
  15. endif ()
  16. ExternalProject_Add(dep_boost
  17. EXCLUDE_FROM_ALL 1
  18. URL "https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz"
  19. URL_HASH SHA256=bd0df411efd9a585e5a2212275f8762079fed8842264954675a4fddc46cfcf60
  20. BUILD_IN_SOURCE 1
  21. CONFIGURE_COMMAND ./bootstrap.sh
  22. --with-libraries=system,filesystem,thread,log,locale,regex
  23. "--prefix=${DESTDIR}/usr/local"
  24. BUILD_COMMAND ./b2
  25. -j ${NPROC}
  26. --reconfigure
  27. link=static
  28. variant=release
  29. threading=multi
  30. boost.locale.icu=off
  31. "cflags=-fPIC ${DEP_BOOST_OSX_TARGET}"
  32. "cxxflags=-fPIC ${DEP_BOOST_OSX_TARGET}"
  33. install
  34. INSTALL_COMMAND "" # b2 does that already
  35. )
  36. ExternalProject_Add(dep_libcurl
  37. EXCLUDE_FROM_ALL 1
  38. URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
  39. URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
  40. BUILD_IN_SOURCE 1
  41. CONFIGURE_COMMAND ./configure
  42. --enable-static
  43. --disable-shared
  44. "--with-ssl=${DESTDIR}/usr/local"
  45. --with-pic
  46. --enable-ipv6
  47. --enable-versioned-symbols
  48. --enable-threaded-resolver
  49. --with-darwinssl
  50. --without-ssl # disables OpenSSL
  51. --disable-ldap
  52. --disable-ldaps
  53. --disable-manual
  54. --disable-rtsp
  55. --disable-dict
  56. --disable-telnet
  57. --disable-pop3
  58. --disable-imap
  59. --disable-smb
  60. --disable-smtp
  61. --disable-gopher
  62. --disable-crypto-auth
  63. --without-gssapi
  64. --without-libpsl
  65. --without-libidn2
  66. --without-gnutls
  67. --without-polarssl
  68. --without-mbedtls
  69. --without-cyassl
  70. --without-nss
  71. --without-axtls
  72. --without-brotli
  73. --without-libmetalink
  74. --without-libssh
  75. --without-libssh2
  76. --without-librtmp
  77. --without-nghttp2
  78. --without-zsh-functions-dir
  79. BUILD_COMMAND make "-j${NPROC}"
  80. INSTALL_COMMAND make install "DESTDIR=${DESTDIR}"
  81. )
  82. ExternalProject_Add(dep_libpng
  83. EXCLUDE_FROM_ALL 1
  84. URL "https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz"
  85. URL_HASH SHA256=5bef5a850a9255365a2dc344671b7e9ef810de491bd479c2506ac3c337e2d84f
  86. CMAKE_GENERATOR "${DEP_MSVC_GEN}"
  87. CMAKE_ARGS
  88. -DPNG_SHARED=OFF
  89. -DPNG_TESTS=OFF
  90. ${DEP_CMAKE_OPTS}
  91. INSTALL_COMMAND make install "DESTDIR=${DESTDIR}"
  92. INSTALL_COMMAND ""
  93. )
  94. ExternalProject_Add(dep_wxwidgets
  95. EXCLUDE_FROM_ALL 1
  96. URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.tar.bz2"
  97. URL_HASH SHA256=4cb8d23d70f9261debf7d6cfeca667fc0a7d2b6565adb8f1c484f9b674f1f27a
  98. BUILD_IN_SOURCE 1
  99. PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/wxwidgets-pngprefix.h" src/png/pngprefix.h
  100. CONFIGURE_COMMAND env "CXXFLAGS=${DEP_WERRORS_SDK}" "CFLAGS=${DEP_WERRORS_SDK}" ./configure
  101. "--prefix=${DESTDIR}/usr/local"
  102. --disable-shared
  103. --with-osx_cocoa
  104. --with-macosx-sdk=${CMAKE_OSX_SYSROOT}
  105. "--with-macosx-version-min=${DEP_OSX_TARGET}"
  106. --with-opengl
  107. --with-regex=builtin
  108. --with-libpng=builtin
  109. --with-libxpm=builtin
  110. --with-libjpeg=builtin
  111. --with-libtiff=builtin
  112. --with-zlib=builtin
  113. --with-expat=builtin
  114. --disable-debug
  115. --disable-debug_flag
  116. BUILD_COMMAND make "-j${NPROC}" && make -C locale allmo
  117. INSTALL_COMMAND make install
  118. )