[cmake] upgrade to 3.18 (#12612)

Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
This commit is contained in:
Stefano Sinigardi 2020-10-20 02:18:39 +02:00 committed by GitHub
parent bb7d4f29f0
commit eb183171d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 94 additions and 6106 deletions

View File

@ -1,6 +1,6 @@
Source: folly
Version: 2019.10.21.00
Port-Version: 4
Port-Version: 5
Homepage: https://github.com/facebook/folly
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr

View File

@ -0,0 +1,48 @@
diff --git a/CMake/GenPkgConfig.cmake b/CMake/GenPkgConfig.cmake
index f8701b4..00a1e75 100644
--- a/CMake/GenPkgConfig.cmake
+++ b/CMake/GenPkgConfig.cmake
@@ -92,7 +92,19 @@ function(gen_pkgconfig_vars)
# Set the output variables
string(REPLACE ";" " " cflags "${cflags}")
- set("${var_prefix}_CFLAGS" "${cflags}" PARENT_SCOPE)
string(REPLACE ";" " " private_libs "${private_libs}")
+
+ # Since CMake 3.18 FindThreads may include a generator expression requiring
+ # a target, which gets propagated to us through INTERFACE_COMPILE_OPTIONS.
+ # Before CMake 3.19 there's no way to solve this in a general way, so we
+ # work around the specific case. See #1414 and CMake bug #21074.
+ if(CMAKE_VERSION VERSION_LESS 3.19)
+ string(REPLACE
+ "<COMPILE_LANG_AND_ID:CUDA,NVIDIA>" "<COMPILE_LANGUAGE:CUDA>"
+ cflags "${cflags}"
+ )
+ endif()
+
+ set("${var_prefix}_CFLAGS" "${cflags}" PARENT_SCOPE)
set("${var_prefix}_PRIVATE_LIBS" "${private_libs}" PARENT_SCOPE)
endfunction()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2de9298..950dd76 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -414,10 +414,18 @@ configure_file(
${CMAKE_CURRENT_BINARY_DIR}/libfolly.pc.gen
@ONLY
)
+
+# Specify target to allow resolving generator expressions requiring
+# a target for CMake >=3.19. See #1414.
+if(NOT CMAKE_VERSION VERSION_LESS 3.19)
+ set(target_arg TARGET folly_deps)
+endif()
+
file(
GENERATE
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libfolly.pc
INPUT ${CMAKE_CURRENT_BINARY_DIR}/libfolly.pc.gen
+ ${target_arg}
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libfolly.pc

View File

@ -22,6 +22,7 @@ vcpkg_from_github(
boost-1.70.patch
fix-addbit.patch
folly_c3861.patch
fix-cmake-3.18.patch # Remove this patch on the next update
)
file(COPY

View File

@ -1,6 +1,6 @@
Source: opencv2
Version: 2.4.13.7
Port-Version: 2
Port-Version: 3
Build-Depends: zlib
Description: computer vision library, version 2
Default-Features: eigen, jpeg, opengl, png, tiff

File diff suppressed because it is too large Load Diff

View File

@ -30,7 +30,6 @@ vcpkg_from_github(
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDA.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindCUDA")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindCUDA.cmake DESTINATION ${SOURCE_PATH}/cmake/) #contains fixes for CUDA 11 compat, remove when CMake has support for it
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
"cuda" WITH_CUDA

View File

@ -1,5 +1,6 @@
Source: opencv3
Version: 3.4.10
Port-Version: 1
Build-Depends: protobuf, zlib
Homepage: https://github.com/opencv/opencv
Description: computer vision library

File diff suppressed because it is too large Load Diff

View File

@ -22,9 +22,6 @@ vcpkg_from_github(
)
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake")
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDA.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindCUDA")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindCUDA.cmake DESTINATION ${SOURCE_PATH}/cmake/) # backported from CMake 3.18, remove when released
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
@ -252,7 +249,6 @@ vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DOPENCV_CUDA_FORCE_BUILTIN_CMAKE_MODULE=ON #to use custom module with fixes for CUDA 11 compat, waiting for CMake support
###### ocv_options
-DOpenCV_INSTALL_BINARIES_PREFIX=
-DOPENCV_BIN_INSTALL_PATH=bin

File diff suppressed because it is too large Load Diff

View File

@ -23,9 +23,6 @@ vcpkg_from_github(
)
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake")
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDA.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindCUDA")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindCUDA.cmake DESTINATION ${SOURCE_PATH}/cmake/) # backported from CMake 3.18, remove when released
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
@ -283,7 +280,6 @@ vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DOPENCV_CUDA_FORCE_BUILTIN_CMAKE_MODULE=ON #to use custom module with fixes for CUDA 11 compat, waiting for CMake support
###### ocv_options
-DOpenCV_INSTALL_BINARIES_PREFIX=
-DOPENCV_BIN_INSTALL_PATH=bin

View File

@ -1,5 +1,6 @@
Source: plplot
Version: 5.13.0-8
Version: 5.13.0
Port-Version: 9
Build-Depends: freetype, zlib, libpng, bzip2
Description: PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.

View File

@ -0,0 +1,17 @@
diff --git a/cmake/modules/psttf.cmake b/cmake/modules/psttf.cmake
index 950f41b..6c20af5 100644
--- a/cmake/modules/psttf.cmake
+++ b/cmake/modules/psttf.cmake
@@ -56,7 +56,11 @@ if(PLD_psttf)
endif(PLD_psttf)
if(PLD_psttf)
- pkg_check_pkgconfig("lasi;pango;pangoft2" includedir libdir linkflags cflags version _PSTTF)
+ set(PKG_LIST lasi pango pangoft2)
+ foreach (SELECTED_PKG ${PKG_LIST})
+ pkg_check_pkgconfig("${SELECTED_PKG}" includedir libdir linkflags cflags version _PSTTF)
+ endforeach()
+
if(linkflags)
#blank-separated required.
string(REGEX REPLACE ";" " " psttf_COMPILE_FLAGS "${cflags}")

View File

@ -12,6 +12,7 @@ vcpkg_from_sourceforge(
install-interface-include-directories.patch
use-math-h-nan.patch
fix_utils.patch
fix-pkg-config.patch
)
set(BUILD_with_wxwidgets OFF)

View File

@ -38,7 +38,7 @@ jobs:
:: TRANSITION, get these tools on the VMs next time we roll them
.\vcpkg.exe fetch cmake
.\vcpkg.exe fetch ninja
set PATH=${{ variables.VCPKG_DOWNLOADS }}\tools\cmake-3.17.2-windows\cmake-3.17.2-win32-x86\bin;${{ variables.VCPKG_DOWNLOADS }}\tools\ninja-1.10.1-windows;%PATH%
set PATH=${{ variables.VCPKG_DOWNLOADS }}\tools\cmake-3.18.4-windows\cmake-3.18.4-win32-x86\bin;${{ variables.VCPKG_DOWNLOADS }}\tools\ninja-1.10.1-windows;%PATH%
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86
rmdir /s /q build.x86.debug > nul 2> nul
cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=ON -B build.x86.debug -S toolsrc

View File

@ -1835,3 +1835,9 @@ clapack:x86-windows=skip
clapack:x64-uwp=skip
lapack-reference:arm64-windows=skip
lapack-reference:arm-uwp=skip
# freetds upstream is gone
freetds:x86-windows=fail
freetds:x64-windows=fail
freetds:x64-windows-static=fail
freetds:arm64-windows=fail

View File

@ -8,25 +8,25 @@
<archiveName>python-3.8.3-embed-win32.zip</archiveName>
</tool>
<tool name="cmake" os="windows">
<version>3.17.2</version>
<exeRelativePath>cmake-3.17.2-win32-x86\bin\cmake.exe</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-win32-x86.zip</url>
<sha512>63bb3dc5a8683ed193025450620a70b8dd675eccba4a83882c96f21eda8994dd5b21854036a0c17f978bf31f67d1d1b33b416c7f6ffb0470c9f48c2e495d44c1</sha512>
<archiveName>cmake-3.17.2-win32-x86.zip</archiveName>
<version>3.18.4</version>
<exeRelativePath>cmake-3.18.4-win32-x86\bin\cmake.exe</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4-win32-x86.zip</url>
<sha512>77ab5b4720c5212cf477100588a20002f7f99a609ad5d5ffef4c163345d366ce9be98280c4f02ecb583d070668a8eb8a2b0baabd266f10c53589aac250f67f28</sha512>
<archiveName>cmake-3.18.4-win32-x86.zip</archiveName>
</tool>
<tool name="cmake" os="osx">
<version>3.17.2</version>
<exeRelativePath>cmake-3.17.2-Darwin-x86_64/CMake.app/Contents/bin/cmake</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-Darwin-x86_64.tar.gz</url>
<sha512>804b06439c05b9cf36a988223b7dc47b06b8613cb4653989eff52aad5ab0fa312b8da1ac0c760ad101e74b2c9edaf5b119bd48617a5efb57dff9380ca74e54a9</sha512>
<archiveName>cmake-3.17.2-Darwin-x86_64.tar.gz</archiveName>
<version>3.18.4</version>
<exeRelativePath>cmake-3.18.4-Darwin-x86_64/CMake.app/Contents/bin/cmake</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4-Darwin-x86_64.tar.gz</url>
<sha512>76efc2fc3562ae4087cb9f169dff5b18253402ec4afdfcf8b818f724efaab2c4aacb1baa5fe77db268413964b4272c91eed789991951ea11eeb67332be5a4c5b</sha512>
<archiveName>cmake-3.18.4-Darwin-x86_64.tar.gz</archiveName>
</tool>
<tool name="cmake" os="linux">
<version>3.17.2</version>
<exeRelativePath>cmake-3.17.2-Linux-x86_64/bin/cmake</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-Linux-x86_64.tar.gz</url>
<sha512>2afc023363c40b110d97d871fb9a8917643bba308ca0c029ee8fe1164db1c168e32b2c9d7647475d84efa290c1242357f7cf260ea4d1f92f5a829cf418955490</sha512>
<archiveName>cmake-3.17.2-Linux-x86_64.tar.gz</archiveName>
<version>3.18.4</version>
<exeRelativePath>cmake-3.18.4-Linux-x86_64/bin/cmake</exeRelativePath>
<url>https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4-Linux-x86_64.tar.gz</url>
<sha512>8be5c00dfb00597daae448060fcc612c5e5f0ff9483eb6786cd1c4123cadf15bf2bec1c7892c59792947188889d5a07a9df34190366636c9b8cea4bb1bc7454f</sha512>
<archiveName>cmake-3.18.4-Linux-x86_64.tar.gz</archiveName>
</tool>
<tool name="cmake" os="freebsd">
<version>3.12.4</version>