diff options
| author | pastdue <30942300+past-due@users.noreply.github.com> | 2021-02-11 03:44:49 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-11 00:44:49 -0800 |
| commit | d6105181a3754cdc70f3d4e338cd8dd93bcf4d3b (patch) | |
| tree | 26006315f1c959347a4f6b91aa7cfe2dea5e0066 /scripts | |
| parent | 0eb69ddd943f06d92eac5f77b0889ccb047a2963 (diff) | |
| download | vcpkg-d6105181a3754cdc70f3d4e338cd8dd93bcf4d3b.tar.gz vcpkg-d6105181a3754cdc70f3d4e338cd8dd93bcf4d3b.zip | |
[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>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/cmake/vcpkg_configure_meson.cmake | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 0bc181c41..194c0709d 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -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\"'") |
