aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake13
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\"'")