mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
[vcpkg.cmake] guard numbers against variable expansions by making them strings (#27939)
* guard numbers against variable expansions by making them strings * missed two
This commit is contained in:
parent
34d2cf7e62
commit
347992dda1
@ -148,9 +148,9 @@ endfunction()
|
|||||||
# NOTE: this function definition is copied directly from scripts/cmake/z_vcpkg_function_arguments.cmake
|
# NOTE: this function definition is copied directly from scripts/cmake/z_vcpkg_function_arguments.cmake
|
||||||
# do not make changes here without making the same change there.
|
# do not make changes here without making the same change there.
|
||||||
macro(z_vcpkg_function_arguments OUT_VAR)
|
macro(z_vcpkg_function_arguments OUT_VAR)
|
||||||
if("${ARGC}" EQUAL 1)
|
if("${ARGC}" EQUAL "1")
|
||||||
set(z_vcpkg_function_arguments_FIRST_ARG 0)
|
set(z_vcpkg_function_arguments_FIRST_ARG "0")
|
||||||
elseif("${ARGC}" EQUAL 2)
|
elseif("${ARGC}" EQUAL "2")
|
||||||
set(z_vcpkg_function_arguments_FIRST_ARG "${ARGV1}")
|
set(z_vcpkg_function_arguments_FIRST_ARG "${ARGV1}")
|
||||||
else()
|
else()
|
||||||
# vcpkg bug
|
# vcpkg bug
|
||||||
@ -172,7 +172,7 @@ macro(z_vcpkg_function_arguments OUT_VAR)
|
|||||||
set("${OUT_VAR}" "${${OUT_VAR}};${z_vcpkg_function_arguments_ESCAPED_ARG}")
|
set("${OUT_VAR}" "${${OUT_VAR}};${z_vcpkg_function_arguments_ESCAPED_ARG}")
|
||||||
endforeach()
|
endforeach()
|
||||||
# remove leading `;`
|
# remove leading `;`
|
||||||
string(SUBSTRING "${${OUT_VAR}}" 1 -1 "${OUT_VAR}")
|
string(SUBSTRING "${${OUT_VAR}}" "1" "-1" "${OUT_VAR}")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@ -280,7 +280,7 @@ else()
|
|||||||
set(Z_VCPKG_TARGET_TRIPLET_ARCH x86)
|
set(Z_VCPKG_TARGET_TRIPLET_ARCH x86)
|
||||||
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND DEFINED CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND DEFINED CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
list(LENGTH CMAKE_OSX_ARCHITECTURES Z_VCPKG_OSX_ARCH_COUNT)
|
list(LENGTH CMAKE_OSX_ARCHITECTURES Z_VCPKG_OSX_ARCH_COUNT)
|
||||||
if(Z_VCPKG_OSX_ARCH_COUNT EQUAL 0)
|
if(Z_VCPKG_OSX_ARCH_COUNT EQUAL "0")
|
||||||
message(WARNING "Unable to determine target architecture. "
|
message(WARNING "Unable to determine target architecture. "
|
||||||
"Consider providing a value for the CMAKE_OSX_ARCHITECTURES cache variable. "
|
"Consider providing a value for the CMAKE_OSX_ARCHITECTURES cache variable. "
|
||||||
"Continuing without vcpkg.")
|
"Continuing without vcpkg.")
|
||||||
@ -289,10 +289,10 @@ else()
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(Z_VCPKG_OSX_ARCH_COUNT GREATER 1)
|
if(Z_VCPKG_OSX_ARCH_COUNT GREATER "1")
|
||||||
message(WARNING "Detected more than one target architecture. Using the first one.")
|
message(WARNING "Detected more than one target architecture. Using the first one.")
|
||||||
endif()
|
endif()
|
||||||
list(GET CMAKE_OSX_ARCHITECTURES 0 Z_VCPKG_OSX_TARGET_ARCH)
|
list(GET CMAKE_OSX_ARCHITECTURES "0" Z_VCPKG_OSX_TARGET_ARCH)
|
||||||
if(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64")
|
if(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64")
|
||||||
set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64)
|
set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64)
|
||||||
elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64s")
|
elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64s")
|
||||||
@ -410,7 +410,7 @@ function(z_vcpkg_add_vcpkg_to_cmake_path list suffix)
|
|||||||
if(VCPKG_PREFER_SYSTEM_LIBS)
|
if(VCPKG_PREFER_SYSTEM_LIBS)
|
||||||
list(APPEND "${list}" "${vcpkg_paths}")
|
list(APPEND "${list}" "${vcpkg_paths}")
|
||||||
else()
|
else()
|
||||||
list(INSERT "${list}" 0 "${vcpkg_paths}") # CMake 3.15 is required for list(PREPEND ...).
|
list(INSERT "${list}" "0" "${vcpkg_paths}") # CMake 3.15 is required for list(PREPEND ...).
|
||||||
endif()
|
endif()
|
||||||
set("${list}" "${${list}}" PARENT_SCOPE)
|
set("${list}" "${${list}}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
@ -456,7 +456,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C
|
|||||||
ERROR_FILE "${Z_VCPKG_BOOTSTRAP_LOG}"
|
ERROR_FILE "${Z_VCPKG_BOOTSTRAP_LOG}"
|
||||||
RESULT_VARIABLE Z_VCPKG_BOOTSTRAP_RESULT)
|
RESULT_VARIABLE Z_VCPKG_BOOTSTRAP_RESULT)
|
||||||
|
|
||||||
if(Z_VCPKG_BOOTSTRAP_RESULT EQUAL 0)
|
if(Z_VCPKG_BOOTSTRAP_RESULT EQUAL "0")
|
||||||
message(STATUS "Bootstrapping vcpkg before install - done")
|
message(STATUS "Bootstrapping vcpkg before install - done")
|
||||||
else()
|
else()
|
||||||
message(STATUS "Bootstrapping vcpkg before install - failed")
|
message(STATUS "Bootstrapping vcpkg before install - failed")
|
||||||
@ -523,7 +523,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C
|
|||||||
file(TO_NATIVE_PATH "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" Z_NATIVE_VCPKG_MANIFEST_INSTALL_LOGFILE)
|
file(TO_NATIVE_PATH "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" Z_NATIVE_VCPKG_MANIFEST_INSTALL_LOGFILE)
|
||||||
file(WRITE "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" "${Z_VCPKG_MANIFEST_INSTALL_LOGTEXT}")
|
file(WRITE "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" "${Z_VCPKG_MANIFEST_INSTALL_LOGTEXT}")
|
||||||
|
|
||||||
if(Z_VCPKG_MANIFEST_INSTALL_RESULT EQUAL 0)
|
if(Z_VCPKG_MANIFEST_INSTALL_RESULT EQUAL "0")
|
||||||
message(STATUS "Running vcpkg install - done")
|
message(STATUS "Running vcpkg install - done")
|
||||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||||
"${VCPKG_MANIFEST_DIR}/vcpkg.json")
|
"${VCPKG_MANIFEST_DIR}/vcpkg.json")
|
||||||
@ -585,7 +585,7 @@ function(add_executable)
|
|||||||
list(FIND ARGV "IMPORTED" IMPORTED_IDX)
|
list(FIND ARGV "IMPORTED" IMPORTED_IDX)
|
||||||
list(FIND ARGV "ALIAS" ALIAS_IDX)
|
list(FIND ARGV "ALIAS" ALIAS_IDX)
|
||||||
list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX)
|
list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX)
|
||||||
if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1)
|
if(IMPORTED_IDX EQUAL "-1" AND ALIAS_IDX EQUAL "-1")
|
||||||
if(VCPKG_APPLOCAL_DEPS)
|
if(VCPKG_APPLOCAL_DEPS)
|
||||||
if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
|
if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
|
||||||
z_vcpkg_set_powershell_path()
|
z_vcpkg_set_powershell_path()
|
||||||
@ -602,7 +602,7 @@ function(add_executable)
|
|||||||
${EXTRA_OPTIONS}
|
${EXTRA_OPTIONS}
|
||||||
)
|
)
|
||||||
elseif(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "osx")
|
elseif(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "osx")
|
||||||
if(NOT MACOSX_BUNDLE_IDX EQUAL -1)
|
if(NOT MACOSX_BUNDLE_IDX EQUAL "-1")
|
||||||
find_package(Python COMPONENTS Interpreter)
|
find_package(Python COMPONENTS Interpreter)
|
||||||
add_custom_command(TARGET "${target_name}" POST_BUILD
|
add_custom_command(TARGET "${target_name}" POST_BUILD
|
||||||
COMMAND "${Python_EXECUTABLE}" "${Z_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py"
|
COMMAND "${Python_EXECUTABLE}" "${Z_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py"
|
||||||
@ -626,7 +626,7 @@ function(add_library)
|
|||||||
list(FIND ARGS "IMPORTED" IMPORTED_IDX)
|
list(FIND ARGS "IMPORTED" IMPORTED_IDX)
|
||||||
list(FIND ARGS "INTERFACE" INTERFACE_IDX)
|
list(FIND ARGS "INTERFACE" INTERFACE_IDX)
|
||||||
list(FIND ARGS "ALIAS" ALIAS_IDX)
|
list(FIND ARGS "ALIAS" ALIAS_IDX)
|
||||||
if(IMPORTED_IDX EQUAL -1 AND INTERFACE_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1)
|
if(IMPORTED_IDX EQUAL "-1" AND INTERFACE_IDX EQUAL "-1" AND ALIAS_IDX EQUAL "-1")
|
||||||
get_target_property(IS_LIBRARY_SHARED "${target_name}" TYPE)
|
get_target_property(IS_LIBRARY_SHARED "${target_name}" TYPE)
|
||||||
if(VCPKG_APPLOCAL_DEPS AND Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp" AND (IS_LIBRARY_SHARED STREQUAL "SHARED_LIBRARY" OR IS_LIBRARY_SHARED STREQUAL "MODULE_LIBRARY"))
|
if(VCPKG_APPLOCAL_DEPS AND Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp" AND (IS_LIBRARY_SHARED STREQUAL "SHARED_LIBRARY" OR IS_LIBRARY_SHARED STREQUAL "MODULE_LIBRARY"))
|
||||||
z_vcpkg_set_powershell_path()
|
z_vcpkg_set_powershell_path()
|
||||||
@ -657,7 +657,7 @@ function(x_vcpkg_install_local_dependencies)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
cmake_parse_arguments(PARSE_ARGV 0 arg
|
cmake_parse_arguments(PARSE_ARGV "0" arg
|
||||||
""
|
""
|
||||||
"DESTINATION;COMPONENT"
|
"DESTINATION;COMPONENT"
|
||||||
"TARGETS"
|
"TARGETS"
|
||||||
@ -797,7 +797,7 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name)
|
|||||||
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN})
|
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN})
|
||||||
elseif(z_vcpkg_find_package_package_name STREQUAL "ICU" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/unicode/utf.h")
|
elseif(z_vcpkg_find_package_package_name STREQUAL "ICU" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/unicode/utf.h")
|
||||||
list(FIND z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN "COMPONENTS" z_vcpkg_find_package_COMPONENTS_IDX)
|
list(FIND z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN "COMPONENTS" z_vcpkg_find_package_COMPONENTS_IDX)
|
||||||
if(NOT z_vcpkg_find_package_COMPONENTS_IDX EQUAL -1)
|
if(NOT z_vcpkg_find_package_COMPONENTS_IDX EQUAL "-1")
|
||||||
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN} COMPONENTS data)
|
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN} COMPONENTS data)
|
||||||
else()
|
else()
|
||||||
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN})
|
_find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN})
|
||||||
@ -837,7 +837,7 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name)
|
|||||||
unset("${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}")
|
unset("${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}")
|
||||||
endforeach()
|
endforeach()
|
||||||
math(EXPR z_vcpkg_find_package_backup_id "${z_vcpkg_find_package_backup_id} - 1")
|
math(EXPR z_vcpkg_find_package_backup_id "${z_vcpkg_find_package_backup_id} - 1")
|
||||||
if(z_vcpkg_find_package_backup_id LESS 0)
|
if(z_vcpkg_find_package_backup_id LESS "0")
|
||||||
message(FATAL_ERROR "[vcpkg]: find_package ended with z_vcpkg_find_package_backup_id being less than 0! This is a logical error and should never happen. Please provide a cmake trace log via cmake cmd line option '--trace-expand'!")
|
message(FATAL_ERROR "[vcpkg]: find_package ended with z_vcpkg_find_package_backup_id being less than 0! This is a logical error and should never happen. Please provide a cmake trace log via cmake cmd line option '--trace-expand'!")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user