mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 08:22:49 +08:00
[vcpkg] vcpkg_configure_meson: Support macOS cross-compile (#15867)
* vcpkg_configure_meson: Support macOS cross-compile * Update scripts/cmake/vcpkg_configure_meson.cmake Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * Use adapted regex instead, utilize for native file config as well Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
This commit is contained in:
parent
0eb69ddd94
commit
d6105181a3
@ -91,6 +91,11 @@ function(vcpkg_internal_meson_generate_native_file _additional_binaries) #https:
|
||||
file(WRITE "${_file}" "${NATIVE}")
|
||||
endfunction()
|
||||
|
||||
function(vcpkg_internal_meson_convert_compiler_flags_to_list _out_var _compiler_flags)
|
||||
string(REGEX REPLACE [=[( +|^)((\"(\\\"|[^"])+\"|\\\"|\\ |[^ ])+)]=] ";\\2" ${_out_var} "${_compiler_flags}")
|
||||
set(${_out_var} "${${_out_var}}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(vcpkg_internal_meson_generate_native_file_config _config) #https://mesonbuild.com/Native-environments.html
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(L_FLAG /LIBPATH:)
|
||||
@ -101,7 +106,7 @@ function(vcpkg_internal_meson_generate_native_file_config _config) #https://meso
|
||||
set(LIBPATH_${_config} "'${L_FLAG}${CURRENT_INSTALLED_DIR}${PATH_SUFFIX_${_config}}/lib'")
|
||||
|
||||
set(NATIVE_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html
|
||||
string(REGEX REPLACE "( |^)(-|/)" ";\\2" MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}")
|
||||
vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}")
|
||||
list(TRANSFORM MESON_CFLAGS_${_config} APPEND "'")
|
||||
list(TRANSFORM MESON_CFLAGS_${_config} PREPEND "'")
|
||||
#list(APPEND MESON_CFLAGS_${_config} "${LIBPATH_${_config}}")
|
||||
@ -109,7 +114,7 @@ function(vcpkg_internal_meson_generate_native_file_config _config) #https://meso
|
||||
list(JOIN MESON_CFLAGS_${_config} ", " MESON_CFLAGS_${_config})
|
||||
string(REPLACE "'', " "" MESON_CFLAGS_${_config} "${MESON_CFLAGS_${_config}}")
|
||||
string(APPEND NATIVE_${_config} "c_args = [${MESON_CFLAGS_${_config}}]\n")
|
||||
string(REGEX REPLACE "( |^)(-|/)" ";\\2" MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}")
|
||||
vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}")
|
||||
list(TRANSFORM MESON_CXXFLAGS_${_config} APPEND "'")
|
||||
list(TRANSFORM MESON_CXXFLAGS_${_config} PREPEND "'")
|
||||
#list(APPEND MESON_CXXFLAGS_${_config} "${LIBPATH_${_config}}")
|
||||
@ -291,14 +296,14 @@ function(vcpkg_internal_meson_generate_cross_file_config _config) #https://meson
|
||||
|
||||
|
||||
set(NATIVE_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html
|
||||
string(REGEX REPLACE "( |^)(-|/)" ";\\2" MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}")
|
||||
vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}")
|
||||
list(TRANSFORM MESON_CFLAGS_${_config} APPEND "'")
|
||||
list(TRANSFORM MESON_CFLAGS_${_config} PREPEND "'")
|
||||
list(APPEND MESON_CFLAGS_${_config} "'-I\"${CURRENT_INSTALLED_DIR}/include\"'")
|
||||
list(JOIN MESON_CFLAGS_${_config} ", " MESON_CFLAGS_${_config})
|
||||
string(REPLACE "'', " "" MESON_CFLAGS_${_config} "${MESON_CFLAGS_${_config}}")
|
||||
string(APPEND NATIVE_${_config} "c_args = [${MESON_CFLAGS_${_config}}]\n")
|
||||
string(REGEX REPLACE "( |^)(-|/)" ";\\2" MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}")
|
||||
vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}")
|
||||
list(TRANSFORM MESON_CXXFLAGS_${_config} APPEND "'")
|
||||
list(TRANSFORM MESON_CXXFLAGS_${_config} PREPEND "'")
|
||||
list(APPEND MESON_CXXFLAGS_${_config} "'-I\"${CURRENT_INSTALLED_DIR}/include\"'")
|
||||
|
Loading…
Reference in New Issue
Block a user