diff options
| author | myd7349 <myd7349@gmail.com> | 2019-07-02 18:13:44 +0800 |
|---|---|---|
| committer | myd7349 <myd7349@gmail.com> | 2019-07-02 18:13:44 +0800 |
| commit | 086c72777369e9a8db0a58e4ad43360b3b613c78 (patch) | |
| tree | 240047d021f2e08af14d58b8a6a5db4b6f0fda60 /scripts | |
| parent | 3efdcef0e62aa6df7ff9088c001cff8d47304386 (diff) | |
| parent | f15d52becf620a0b234b4b7735579b5415f8d7b7 (diff) | |
| download | vcpkg-086c72777369e9a8db0a58e4ad43360b3b613c78.tar.gz vcpkg-086c72777369e9a8db0a58e4ad43360b3b613c78.zip | |
Merge branch 'master' into rdkafka-init
Diffstat (limited to 'scripts')
20 files changed, 267 insertions, 77 deletions
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index b195cc605..6234efaa3 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -339,7 +339,14 @@ if ($disableMetrics) $platform = "x86" $vcpkgReleaseDir = "$vcpkgSourcesPath\msbuild.x86.release" -$architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture +if($PSVersionTable.PSVersion.Major -le 2) +{ + $architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture +} +else +{ + $architecture=(Get-CimInstance win32_operatingsystem | Select-Object osarchitecture).osarchitecture +} if ($win64) { if (-not $architecture -like "*64*") diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 00d31760a..b0e4f98a5 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -100,7 +100,7 @@ vcpkgDownloadFile() url=$1; downloadPath=$2 sha512=$3 vcpkgCheckRepoTool "curl" rm -rf "$downloadPath.part" - curl -L $url --create-dirs --output "$downloadPath.part" || exit 1 + curl -L $url --create-dirs --retry 3 --output "$downloadPath.part" || exit 1 vcpkgCheckEqualFileHash $url "$downloadPath.part" $sha512 mv "$downloadPath.part" "$downloadPath" diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1 index a3792ecd3..fa5fe869d 100644 --- a/scripts/cleanEnvironmentHelper.ps1 +++ b/scripts/cleanEnvironmentHelper.ps1 @@ -1,6 +1,6 @@ # Capture environment variables for the System and User. Also add some special/built-in variables. # These will be used to synthesize a clean environment -$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile } # These are built-in and not set in the registry +$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile; "TMP"=$env:TMP } # These are built-in and not set in the registry $machineEnvironmentMap = [Environment]::GetEnvironmentVariables('Machine') # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment $userEnvironmentMap = [Environment]::GetEnvironmentVariables('User') # HKEY_CURRENT_USER\Environment diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake index 80a0aef0d..cf79fe8fc 100644 --- a/scripts/cmake/vcpkg_build_qmake.cmake +++ b/scripts/cmake/vcpkg_build_qmake.cmake @@ -11,9 +11,11 @@ function(vcpkg_build_qmake) cmake_parse_arguments(_csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" ${ARGN}) if(CMAKE_HOST_WIN32) + set(_PATHSEP ";") vcpkg_find_acquire_program(JOM) set(INVOKE "${JOM}") else() + set(_PATHSEP ":") find_program(MAKE make) set(INVOKE "${MAKE}") endif() @@ -56,7 +58,7 @@ function(vcpkg_build_qmake) #First generate the makefiles so we can modify them if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}") + set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/debug/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") if(NOT _csc_SKIP_MAKEFILES) run_jom(qmake_all makefiles dbg) @@ -81,7 +83,7 @@ function(vcpkg_build_qmake) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}") + set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") if(NOT _csc_SKIP_MAKEFILES) run_jom(qmake_all makefiles rel) diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake new file mode 100644 index 000000000..115b1501f --- /dev/null +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -0,0 +1,112 @@ +## # vcpkg_check_features +## +## Check if one or more features are a part of the package installation. +## +## ## Usage +## ```cmake +## vcpkg_check_features( +## <feature1> <output_variable1> +## [<feature2> <output_variable2>] +## ... +## ) +## ``` +## +## `vcpkg_check_features` accepts a list of (feature, output_variable) pairs. If a feature is specified, the corresponding output variable will be set as `ON`, or `OFF` otherwise. The syntax is similar to the `PROPERTIES` argument of `set_target_properties`. +## +## `vcpkg_check_features` will create a variable `FEATURE_OPTIONS` in the parent scope, which you can pass as a part of `OPTIONS` argument when calling functions like `vcpkg_config_cmake`: +## ```cmake +## vcpkg_config_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## -DBUILD_TESTING=ON +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ## Notes +## ```cmake +## vcpkg_check_features(<feature> <output_variable>) +## ``` +## can be used as a replacement of: +## ```cmake +## if(<feature> IN_LIST FEATURES) +## set(<output_variable> ON) +## else() +## set(<output_variable> OFF) +## endif() +## ``` +## +## However, if you have a feature that was checked like this before: +## ```cmake +## if(<feature> IN_LIST FEATURES) +## set(<output_variable> OFF) +## else() +## set(<output_variable> ON) +## endif() +## ``` +## then you should not use `vcpkg_check_features` instead. [```oniguruma```](https://github.com/microsoft/vcpkg/blob/master/ports/oniguruma/portfile.cmake), for example, has a feature named `non-posix` which is checked with: +## ```cmake +## if("non-posix" IN_LIST FEATURES) +## set(ENABLE_POSIX_API OFF) +## else() +## set(ENABLE_POSIX_API ON) +## endif() +## ``` +## and by replacing these code with: +## ```cmake +## vcpkg_check_features(non-posix ENABLE_POSIX_API) +## ``` +## is totally wrong. +## +## `vcpkg_check_features` is supposed to be called only once. Otherwise, the `FEATURE_OPTIONS` variable set by a previous call will be overwritten. +## +## ## Examples +## +## * [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake) +## * [xsimd](https://github.com/microsoft/vcpkg/blob/master/ports/xsimd/portfile.cmake) +## * [xtensor](https://github.com/microsoft/vcpkg/blob/master/ports/xtensor/portfile.cmake) +function(vcpkg_check_features) + cmake_parse_arguments(_vcf "" "" "" ${ARGN}) + + list(LENGTH ARGN _vcf_ARGC) + math(EXPR _vcf_INCORRECT_ARGN "${_vcf_ARGC} % 2") + + if(_vcf_INCORRECT_ARGN) + message(FATAL_ERROR "Called with incorrect number of arguments.") + endif() + + set(_vcf_IS_FEATURE_ARG ON) + set(_vcf_FEATURE_OPTIONS) + + # Process (feature, output_var) pairs + foreach(_vcf_ARG ${ARGN}) + if(_vcf_IS_FEATURE_ARG) + set(_vcf_FEATURE ${_vcf_ARG}) + + if(NOT ${_vcf_FEATURE} IN_LIST ALL_FEATURES) + message(FATAL_ERROR "Unknown feature: ${_vcf_FEATURE}") + endif() + + set(_vcf_IS_FEATURE_ARG OFF) + else() + set(_vcf_FEATURE_VAR ${_vcf_ARG}) + + if(${_vcf_FEATURE} IN_LIST FEATURES) + set(${_vcf_FEATURE_VAR} ON PARENT_SCOPE) + else() + set(${_vcf_FEATURE_VAR} OFF PARENT_SCOPE) + endif() + + list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VAR}=${${_vcf_FEATURE_VAR}}") + + set(_vcf_IS_FEATURE_ARG ON) + endif() + endforeach() + + if(DEFINED FEATURE_OPTIONS) + message(WARNING "FEATURE_OPTIONS is already defined and will be overwritten.") + endif() + + set(FEATURE_OPTIONS ${_vcf_FEATURE_OPTIONS} PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake new file mode 100644 index 000000000..8dc05de3c --- /dev/null +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -0,0 +1,14 @@ +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(VCPKG_TARGET_IS_WINDOWS 1)
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(VCPKG_TARGET_IS_UWP 1)
+ endif()
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(VCPKG_TARGET_IS_OSX 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(VCPKG_TARGET_IS_LINUX 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
+ set(VCPKG_TARGET_IS_ANDROID 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(VCPKG_TARGET_IS_FREEBSD 1)
+endif()
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index b99f8bee8..515b2bafe 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -1,5 +1,6 @@ include(vcpkg_acquire_msys) include(vcpkg_add_to_path) +include(vcpkg_check_features) include(vcpkg_check_linkage) include(vcpkg_clean_msbuild) include(vcpkg_download_distfile) @@ -31,3 +32,4 @@ include(vcpkg_get_windows_sdk) include(vcpkg_replace_string) include(vcpkg_from_git) include(vcpkg_test_cmake) +include(vcpkg_prettify_command) diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index ceff199ab..ab93c3075 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -7,6 +7,7 @@ ## vcpkg_configure_cmake( ## SOURCE_PATH <${SOURCE_PATH}> ## [PREFER_NINJA] +## [DISABLE_PARALLEL_CONFIGURE] ## [GENERATOR <"NMake Makefiles">] ## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] ## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] @@ -50,7 +51,7 @@ ## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) ## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) function(vcpkg_configure_cmake) - cmake_parse_arguments(_csc "PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) + cmake_parse_arguments(_csc "PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE;NO_CHARSET_FLAG" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) if(NOT VCPKG_PLATFORM_TOOLSET) message(FATAL_ERROR "Vcpkg has been updated with VS2017 support, however you need to rebuild vcpkg.exe by re-running bootstrap-vcpkg.bat\n") @@ -173,6 +174,11 @@ function(vcpkg_configure_cmake) else() message(FATAL_ERROR "You must set both the VCPKG_CXX_FLAGS and VCPKG_C_FLAGS") endif() + + set(VCPKG_SET_CHARSET_FLAG ON) + if(_csc_NO_CHARSET_FLAG) + set(VCPKG_SET_CHARSET_FLAG OFF) + endif() if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") @@ -188,8 +194,10 @@ function(vcpkg_configure_cmake) list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/freebsd.cmake") endif() + list(APPEND _csc_OPTIONS "-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}" + "-DVCPKG_SET_CHARSET_FLAG=${VCPKG_SET_CHARSET_FLAG}" "-DVCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" @@ -207,6 +215,7 @@ function(vcpkg_configure_cmake) "-DVCPKG_C_FLAGS_DEBUG=${VCPKG_C_FLAGS_DEBUG}" "-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}" "-DVCPKG_LINKER_FLAGS=${VCPKG_LINKER_FLAGS}" + "-DVCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" ) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index f1ae0e65f..f907c76f1 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -26,6 +26,7 @@ function(vcpkg_configure_meson) set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF") # select meson cmd-line options + list(APPEND _vcm_OPTIONS -Dcmake_prefix_path=${CURRENT_INSTALLED_DIR}) list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) list(APPEND _vcm_OPTIONS --default-library shared) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index 27e8c8163..9da6cec9f 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -31,6 +31,7 @@ ## ## Examples ## ## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) +include(vcpkg_prettify_command) function(vcpkg_execute_build_process) cmake_parse_arguments(_ebp "" "WORKING_DIRECTORY;LOGNAME" "COMMAND;NO_PARALLEL_COMMAND" ${ARGN}) @@ -59,7 +60,8 @@ function(vcpkg_execute_build_process) if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: " OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: " OR out_contents MATCHES "LINK : fatal error LNK1318: Unexpected PDB error; ACCESS_DENIED" - OR out_contents MATCHES "LINK : fatal error LNK1104:") + OR out_contents MATCHES "LINK : fatal error LNK1104:" + OR out_contents MATCHES "LINK : fatal error LNK1201:") # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. message(STATUS "Restarting Build without parallelism because memory exceeded") set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log") @@ -130,8 +132,9 @@ function(vcpkg_execute_build_process) file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") endforeach() + vcpkg_prettify_command(_ebp_COMMAND _ebp_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${_ebp_COMMAND}\n" + " Command failed: ${_ebp_COMMAND_PRETTY}\n" " Working Directory: ${_ebp_WORKING_DIRECTORY}\n" " See logs for more information:\n" ${STRINGIFIED_LOGS}) diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index 2e9ba7058..e65d1970a 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -28,6 +28,7 @@ ## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) ## * [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) ## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) +include(vcpkg_prettify_command) function(vcpkg_execute_required_process) cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log") @@ -53,8 +54,9 @@ function(vcpkg_execute_required_process) file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") endforeach() + vcpkg_prettify_command(vcpkg_execute_required_process_COMMAND vcpkg_execute_required_process_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${vcpkg_execute_required_process_COMMAND}\n" + " Command failed: ${vcpkg_execute_required_process_COMMAND_PRETTY}\n" " Working Directory: ${vcpkg_execute_required_process_WORKING_DIRECTORY}\n" " Error code: ${error_code}\n" " See logs for more information:\n" diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake index 0c77c3913..ca11e8ea4 100644 --- a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake +++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake @@ -1,4 +1,5 @@ # Usage: vcpkg_execute_required_process_repeat(COUNT <num> COMMAND <cmd> [<args>...] WORKING_DIRECTORY </path/to/dir> LOGNAME <my_log_name>) +include(vcpkg_prettify_command) function(vcpkg_execute_required_process_repeat) cmake_parse_arguments(vcpkg_execute_required_process_repeat "" "COUNT;WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) #debug_message("vcpkg_execute_required_process_repeat(${vcpkg_execute_required_process_repeat_COMMAND})") @@ -18,8 +19,9 @@ function(vcpkg_execute_required_process_repeat) endif() endforeach(loop_count) if (NOT SUCCESSFUL_EXECUTION) + vcpkg_prettify_command(vcpkg_execute_required_process_repeat_COMMAND vcpkg_execute_required_process_repeat_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${vcpkg_execute_required_process_repeat_COMMAND}\n" + " Command failed: ${vcpkg_execute_required_process_repeat_COMMAND_PRETTY}\n" " Working Directory: ${vcpkg_execute_required_process_repeat_WORKING_DIRECTORY}\n" " See logs for more information:\n" " ${NATIVE_BUILDTREES_DIR}\\${vcpkg_execute_required_process_repeat_LOGNAME}-out.log\n" diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake index a70a5e4a3..a775c2094 100644 --- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -25,7 +25,7 @@ ## This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md).
##
## ### REF
-## A friendly name that will be used instead of the filename of the archive.
+## A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated.
##
## By convention, this is set to the version number or tag fetched
##
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 4a77b4b8e..0399fc50c 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -54,9 +54,9 @@ function(vcpkg_find_acquire_program VAR) set(PATHS ${DOWNLOADS}/tools/perl/perl/bin) set(BREW_PACKAGE_NAME "perl") set(APT_PACKAGE_NAME "perl") - set(URL "http://strawberryperl.com/download/5.24.1.1/strawberry-perl-5.24.1.1-32bit-portable.zip") - set(ARCHIVE "strawberry-perl-5.24.1.1-32bit-portable.zip") - set(HASH a6e685ea24376f50db5f06c5b46075f1d3be25168fa1f27fa9b02e2ac017826cee62a2b43562f9b6c989337a231ba914416c110075457764de2d11f99d5e0f26) + set(URL "http://strawberryperl.com/download/5.30.0.1/strawberry-perl-5.30.0.1-32bit.zip") + set(ARCHIVE "strawberry-perl-5.30.0.1-32bit.zip") + set(HASH d353d3dc743ebdc6d1e9f6f2b7a6db3c387c1ce6c890bae8adc8ae5deae8404f4c5e3cf249d1e151e7256d4c5ee9cd317e6c41f3b6f244340de18a24b938e0c4) elseif(VAR MATCHES "NASM") set(PROGNAME nasm) set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.14) @@ -79,9 +79,9 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME python) set(SUBDIR "python3") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip") - set(ARCHIVE "python-3.5.4-embed-win32.zip") - set(HASH b5240fdc95088c2d7f65d2dd598650f8dd106b49589d94156bd4a078b108c6cabbe7a38ef73e2b2cf00e8312a93d2e587eac2c54ce85540d3c7a26cc60013156) + set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") + set(ARCHIVE "python-3.7.3-embed-win32.zip") + set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) else() set(PROGNAME python3) set(BREW_PACKAGE_NAME "python") @@ -92,9 +92,9 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME python) set(SUBDIR "python2") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi") + set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi") set(ARCHIVE "python2.msi") - set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e) + set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254) else() set(PROGNAME python2) set(BREW_PACKAGE_NAME "python2") @@ -102,10 +102,10 @@ function(vcpkg_find_acquire_program VAR) endif() elseif(VAR MATCHES "RUBY") set(PROGNAME "ruby") - set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.4.1-1-x86/bin) - set(URL https://github.com/oneclick/rubyinstaller2/releases/download/2.4.1-1/rubyinstaller-2.4.1-1-x86.7z) - set(ARCHIVE rubyinstaller-2.4.1-1-x86.7z) - set(HASH b51112e9b58cfcbe8cec0607e8a16fff6a943d9b4e31b2a7fbf5df5f83f050bf0a4812d3dd6000ff21a3d5fd219cd0a309c58ac1c1db950a9b0072405e4b70f5) + set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.6.3-1-x86/bin) + set(URL https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.3-1/rubyinstaller-2.6.3-1-x86.7z) + set(ARCHIVE rubyinstaller-2.6.3-1-x86.7z) + set(HASH 4322317dd02ce13527bf09d6e6a7787ca3814ea04337107d28af1ac360bd272504b32e20ed3ea84eb5b21dae7b23bfe5eb0e529b6b0aa21a1a2bbb0a542d7aec) elseif(VAR MATCHES "JOM") set(PROGNAME jom) set(SUBDIR "jom-1.1.3") @@ -116,12 +116,12 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "7Z") set(PROGNAME 7z) set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" "${DOWNLOADS}/tools/7z/Files/7-Zip") - set(URL "http://7-zip.org/a/7z1604.msi") - set(ARCHIVE "7z1604.msi") - set(HASH 556f95f7566fe23704d136239e4cf5e2a26f939ab43b44145c91b70d031a088d553e5c21301f1242a2295dcde3143b356211f0108c68e65eef8572407618326d) + set(URL "https://7-zip.org/a/7z1900.msi") + set(ARCHIVE "7z1900.msi") + set(HASH f73b04e2d9f29d4393fde572dcf3c3f0f6fa27e747e5df292294ab7536ae24c239bf917689d71eb10cc49f6b9a4ace26d7c122ee887d93cc935f268c404e9067) elseif(VAR MATCHES "NINJA") set(PROGNAME ninja) - set(SUBDIR "ninja-1.8.2") + set(SUBDIR "ninja-1.9.0") if(CMAKE_HOST_WIN32) set(PATHS "${DOWNLOADS}/tools/ninja/${SUBDIR}") elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") @@ -133,9 +133,9 @@ function(vcpkg_find_acquire_program VAR) endif() set(BREW_PACKAGE_NAME "ninja") set(APT_PACKAGE_NAME "ninja-build") - set(URL "https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip") - set(ARCHIVE "ninja-1.8.2-win.zip") - set(HASH 9b9ce248240665fcd6404b989f3b3c27ed9682838225e6dc9b67b551774f251e4ff8a207504f941e7c811e7a8be1945e7bcb94472a335ef15e23a0200a32e6d5) + set(URL "https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip") + set(ARCHIVE "ninja-1.9.0-win.zip") + set(HASH 1c050e602ec63d4dcf44d9ab3d2d02ac731b4b2977bc0b420a21e85604487f58ec8d3045941d4153ef06ab00c175ca7cf9d57b8e20a757528290e135639962ac) elseif(VAR MATCHES "NUGET") set(PROGNAME nuget) set(PATHS "${DOWNLOADS}/tools/nuget") @@ -154,10 +154,10 @@ function(vcpkg_find_acquire_program VAR) else() set(SCRIPTNAME meson) endif() - set(PATHS ${DOWNLOADS}/tools/meson/meson-0.50.0) - set(URL "https://github.com/mesonbuild/meson/archive/0.50.0.zip") - set(ARCHIVE "meson-0.50.0.zip") - set(HASH 587cafe0cd551e3fb3507ecab904912dc3e053aa95c864b435526a20d52406536ba970a50be6c9f20d83314c5853aaefa102c5ca14623d0928b091a43e7b6d64) + set(PATHS ${DOWNLOADS}/tools/meson/meson-0.51.0) + set(URL "https://github.com/mesonbuild/meson/archive/0.51.0.zip") + set(ARCHIVE "meson-0.51.0.zip") + set(HASH bf1df65cde7e0e0a44e4b4be7d68de9897a77c4ea4c694f1d77fe82cd3c7e7818dc034a3313ce885ba6883b4ba6d282b7a589f665fa499d9eb79fc7a23e415cc) elseif(VAR MATCHES "FLEX") if(CMAKE_HOST_WIN32) set(PROGNAME win_flex) @@ -229,10 +229,10 @@ function(vcpkg_find_acquire_program VAR) # Download Tools elseif(VAR MATCHES "ARIA2") set(PROGNAME aria2c) - set(PATHS ${DOWNLOADS}/tools/aria2c/aria2-1.33.1-win-32bit-build1) - set(URL "https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1-win-32bit-build1.zip") - set(ARCHIVE "aria2-1.33.1-win-32bit-build1.zip") - set(HASH 2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3) + set(PATHS ${DOWNLOADS}/tools/aria2c/aria2-1.34.0-win-32bit-build1) + set(URL "https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0-win-32bit-build1.zip") + set(ARCHIVE "aria2-1.34.0-win-32bit-build1.zip") + set(HASH 2a5480d503ac6e8203040c7e516a3395028520da05d0ebf3a2d56d5d24ba5d17630e8f318dd4e3cc2094cc4668b90108fb58e8b986b1ffebd429995058063c27) else() message(FATAL "unknown tool ${VAR} -- unable to acquire.") endif() diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index 982f414b6..1e0f2493d 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -4,7 +4,8 @@ # Transform all /debug/share/<port>/*targets-debug.cmake files and move them to /share/<port>. # Removes all /debug/share/<port>/*targets.cmake and /debug/share/<port>/*config.cmake # -# Transform all references matching /bin/*.exe to /tools/<port>/*.exe +# Transform all references matching /bin/*.exe to /tools/<port>/*.exe on Windows +# Transform all references matching /bin/* to /tools/<port>/* on other platforms # # Fix ${_IMPORT_PREFIX} in auto generated targets to be one folder deeper. # Replace ${CURRENT_INSTALLED_DIR} with ${_IMPORT_PREFIX} in configs/targets. @@ -27,6 +28,13 @@ function(vcpkg_fixup_cmake_targets) set(_vfct_TARGET_PATH share/${PORT}) endif() + + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(EXECUTABLE_SUFFIX "\\.exe") + else() + set(EXECUTABLE_SUFFIX) + endif() + set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/${_vfct_TARGET_PATH}) set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}) @@ -107,7 +115,7 @@ function(vcpkg_fixup_cmake_targets) foreach(RELEASE_TARGET IN LISTS RELEASE_TARGETS) file(READ ${RELEASE_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") file(WRITE ${RELEASE_TARGET} "${_contents}") endforeach() @@ -120,7 +128,7 @@ function(vcpkg_fixup_cmake_targets) file(READ ${DEBUG_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}") file(WRITE ${RELEASE_SHARE}/${DEBUG_TARGET_REL} "${_contents}") diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake index 2fc66b279..0db818f80 100644 --- a/scripts/cmake/vcpkg_from_git.cmake +++ b/scripts/cmake/vcpkg_from_git.cmake @@ -8,7 +8,6 @@ ## OUT_SOURCE_PATH <SOURCE_PATH> ## URL <https://android.googlesource.com/platform/external/fdlibm> ## REF <59f7335e4d...> -## SHA512 <abcdef123...> ## [PATCHES <patch1.patch> <patch2.patch>...] ## ) ## ``` @@ -20,17 +19,10 @@ ## This should be set to `SOURCE_PATH` by convention. ## ## ### URL -## The url of the git repository. -## -## ### SHA512 -## The SHA512 hash that should match the archive form of the commit. -## -## This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. +## The url of the git repository. Must start with `https`. ## ## ### REF -## A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.** -## -## For repositories without official releases, this can be set to the full commit id of the current latest master. +## The git sha of the commit to download. ## ## ### PATCHES ## A list of patches to be applied to the extracted sources. @@ -38,14 +30,14 @@ ## Relative paths are based on the port directory. ## ## ## Notes: -## `OUT_SOURCE_PATH`, `REF`, `SHA512`, and `URL` must be specified. +## `OUT_SOURCE_PATH`, `REF`, and `URL` must be specified. ## ## ## Examples: ## ## * [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake) function(vcpkg_from_git) - set(oneValueArgs OUT_SOURCE_PATH URL REF SHA512) + set(oneValueArgs OUT_SOURCE_PATH URL REF) set(multipleValuesArgs PATCHES) cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) @@ -57,12 +49,15 @@ function(vcpkg_from_git) message(FATAL_ERROR "The git url must be specified") endif() - if(NOT DEFINED _vdud_REF) - message(FATAL_ERROR "The git ref must be specified.") + if( NOT _vdud_URL MATCHES "^https:") + # vcpkg_from_git does not support a SHA256 parameter because hashing the git archive is + # not stable across all supported platforms. The tradeoff is to require https to download + # and the ref to be the git sha (i.e. not things that can change like a label) + message(FATAL_ERROR "The git url must be https") endif() - if(NOT DEFINED _vdud_SHA512) - message(FATAL_ERROR "vcpkg_from_git requires a SHA512 argument. If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") + if(NOT DEFINED _vdud_REF) + message(FATAL_ERROR "The git ref must be specified.") endif() # using .tar.gz instead of .zip because the hash of the latter is affected by timezone. @@ -71,18 +66,6 @@ function(vcpkg_from_git) set(ARCHIVE "${DOWNLOADS}/${PORT}-${SANITIZED_REF}.tar.gz") set(TEMP_SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SANITIZED_REF}") - function(test_hash FILE_PATH FILE_KIND CUSTOM_ERROR_ADVICE) - file(SHA512 ${FILE_PATH} FILE_HASH) - if(NOT FILE_HASH STREQUAL _vdud_SHA512) - message(FATAL_ERROR - "\nFile does not have expected hash:\n" - " File path: [ ${FILE_PATH} ]\n" - " Expected hash: [ ${_vdud_SHA512} ]\n" - " Actual hash: [ ${FILE_HASH} ]\n" - "${CUSTOM_ERROR_ADVICE}\n") - endif() - endfunction() - if(NOT EXISTS "${ARCHIVE}") if(_VCPKG_NO_DOWNLOADS) message(FATAL_ERROR "Downloads are disabled, but '${ARCHIVE}' does not exist.") @@ -93,26 +76,40 @@ function(vcpkg_from_git) vcpkg_execute_required_process( COMMAND ${GIT} init git-tmp WORKING_DIRECTORY ${DOWNLOADS} - LOGNAME git-init + LOGNAME git-init-${TARGET_TRIPLET} ) vcpkg_execute_required_process( COMMAND ${GIT} fetch ${_vdud_URL} ${_vdud_REF} --depth 1 -n WORKING_DIRECTORY ${DOWNLOADS}/git-tmp - LOGNAME git-fetch + LOGNAME git-fetch-${TARGET_TRIPLET} + ) + execute_process( + COMMAND ${GIT} rev-parse FETCH_HEAD + OUTPUT_VARIABLE REV_PARSE_HEAD + ERROR_VARIABLE REV_PARSE_HEAD + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${DOWNLOADS}/git-tmp ) + if(error_code) + message(FATAL_ERROR "unable to determine FETCH_HEAD after fetching git repository") + endif() + string(REGEX REPLACE "\n$" "" REV_PARSE_HEAD "${REV_PARSE_HEAD}") + if(NOT REV_PARSE_HEAD STREQUAL _vdud_REF) + message(FATAL_ERROR "REF (${_vdud_REF}) does not match FETCH_HEAD (${REV_PARSE_HEAD})") + endif() + file(MAKE_DIRECTORY "${DOWNLOADS}/temp") vcpkg_execute_required_process( COMMAND ${GIT} archive FETCH_HEAD -o "${TEMP_ARCHIVE}" WORKING_DIRECTORY ${DOWNLOADS}/git-tmp LOGNAME git-archive ) - test_hash("${TEMP_ARCHIVE}" "downloaded repo" "") + get_filename_component(downloaded_file_dir "${ARCHIVE}" DIRECTORY) file(MAKE_DIRECTORY "${downloaded_file_dir}") file(RENAME "${TEMP_ARCHIVE}" "${ARCHIVE}") else() message(STATUS "Using cached ${ARCHIVE}") - test_hash("${ARCHIVE}" "cached file" "Please delete the file and retry if this file should be downloaded again.") endif() vcpkg_extract_source_archive_ex( diff --git a/scripts/cmake/vcpkg_prettify_command.cmake b/scripts/cmake/vcpkg_prettify_command.cmake new file mode 100644 index 000000000..9d9a2b798 --- /dev/null +++ b/scripts/cmake/vcpkg_prettify_command.cmake @@ -0,0 +1,26 @@ +## # vcpkg_prettify_command
+##
+## Turns list of command arguments into a formatted string.
+##
+## ## Usage
+## ```cmake
+## vcpkg_prettify_command()
+## ```
+##
+## ## Examples
+##
+## * `scripts/cmake/vcpkg_execute_build_process.cmake`
+## * `scripts/cmake/vcpkg_execute_required_process.cmake`
+## * `scripts/cmake/vcpkg_execute_required_process_repeat.cmake`
+
+macro(vcpkg_prettify_command INPUT_VAR OUTPUT_VAR)
+ set(${OUTPUT_VAR} "")
+ foreach(v ${${INPUT_VAR}})
+ if(${v} MATCHES "( )")
+ list(APPEND ${OUTPUT_VAR} \"${v}\")
+ else()
+ list(APPEND ${OUTPUT_VAR} ${v})
+ endif()
+ endforeach()
+ list(JOIN ${OUTPUT_VAR} " " ${OUTPUT_VAR})
+endmacro()
diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 7a5f2749f..860d08893 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -32,7 +32,7 @@ endif() if(CMD MATCHES "^BUILD$") - set(CMAKE_TRIPLET_FILE ${VCPKG_ROOT_DIR}/triplets/${TARGET_TRIPLET}.cmake) + set(CMAKE_TRIPLET_FILE ${TARGET_TRIPLET_FILE}) if(NOT EXISTS ${CMAKE_TRIPLET_FILE}) message(FATAL_ERROR "Unsupported target triplet. Triplet file does not exist: ${CMAKE_TRIPLET_FILE}") endif() @@ -68,6 +68,8 @@ if(CMD MATCHES "^BUILD$") include(${CMAKE_TRIPLET_FILE}) set(TRIPLET_SYSTEM_ARCH ${VCPKG_TARGET_ARCHITECTURE}) + include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_definitions.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_functions.cmake) include(${CURRENT_PORT_DIR}/portfile.cmake) set(BUILD_INFO_FILE_PATH ${CURRENT_PACKAGES_DIR}/BUILD_INFO) diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake index b9cbc0ff3..70f224da9 100644 --- a/scripts/toolchains/linux.cmake +++ b/scripts/toolchains/linux.cmake @@ -4,6 +4,9 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
endif()
set(CMAKE_SYSTEM_NAME Linux CACHE STRING "")
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "")
+endif()
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(NOT _CMAKE_IN_TRY_COMPILE)
diff --git a/scripts/toolchains/windows.cmake b/scripts/toolchains/windows.cmake index 12b1ae7f9..d5d7f8db5 100644 --- a/scripts/toolchains/windows.cmake +++ b/scripts/toolchains/windows.cmake @@ -9,7 +9,8 @@ if(NOT _CMAKE_IN_TRY_COMPILE) message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"")
endif()
- if(VCPKG_PLATFORM_TOOLSET MATCHES "v120")
+ set(CHARSET_FLAG "/utf-8")
+ if (NOT VCPKG_SET_CHARSET_FLAG OR VCPKG_PLATFORM_TOOLSET MATCHES "v120")
# VS 2013 does not support /utf-8
set(CHARSET_FLAG)
endif()
@@ -17,7 +18,7 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CMAKE_CXX_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /GR /EHsc /MP ${VCPKG_CXX_FLAGS}" CACHE STRING "")
set(CMAKE_C_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /MP ${VCPKG_C_FLAGS}" CACHE STRING "")
set(CMAKE_RC_FLAGS "-c65001 /DWIN32" CACHE STRING "")
-
+
unset(CHARSET_FLAG)
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
@@ -27,5 +28,4 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS}" CACHE STRING "")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS}" CACHE STRING "")
-
endif()
|
