From cff0492e1184cb978baae17f47f65c1646ab0a0d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 31 Aug 2022 19:37:31 +0200 Subject: [PATCH 01/41] test osx stuff --- .../cmake_get_vars/CMakeLists.txt | 2 +- scripts/cmake/vcpkg_configure_make.cmake | 6 +++--- scripts/cmake/vcpkg_configure_meson.cmake | 11 ----------- scripts/get_cmake_vars/CMakeLists.txt | 5 ++--- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index fb1da469651b97..4b3059fbaea9b8 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -126,7 +126,7 @@ if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") endif() -foreach(flags CXX C SHARED_LINKER EXE_LINKER) +foreach(flags CXX C SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER) set(${flags}_FLAGS "${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}} ${EXTRA_FLAGS}") endforeach() diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 5ff0ab1ae3d650..d085af0a64a928 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -74,8 +74,8 @@ macro(z_vcpkg_determine_autotools_target_arch_mac out_var) endmacro() macro(z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags flag_suffix) - string(REGEX MATCHALL "( |^)-D[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - string(REGEX MATCHALL "( |^)-D[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") list(JOIN CXXPPFLAGS_${flag_suffix} "|" CXXREGEX) if(CXXREGEX) list(FILTER CPPFLAGS_${flag_suffix} INCLUDE REGEX "(${CXXREGEX})") @@ -384,7 +384,7 @@ function(vcpkg_configure_make) # Currently needed for arm because objdump yields: "unrecognised machine type (0x1c4) in Import Library Format archive" list(APPEND arg_OPTIONS lt_cv_deplibs_check_method=pass_all) endif() - elseif(NOT VCPKG_TARGET_IS_OSX) + else() # Because OSX dosn't like CMAKE_C(XX)_COMPILER (cc) in CC/CXX and rather wants to have gcc/g++ function(z_vcpkg_make_set_env envvar cmakevar) set(prog "${VCPKG_DETECTED_CMAKE_${cmakevar}} ${ARGN}") diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 2115680d8b7852..992ca868418f42 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -137,17 +137,6 @@ function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) set(linker_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}}") endif() z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") - if(VCPKG_TARGET_IS_OSX) - # macOS - append arch and isysroot if cross-compiling - if(NOT "${VCPKG_OSX_ARCHITECTURES}" STREQUAL "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") - foreach(arch IN LISTS VCPKG_OSX_ARCHITECTURES) - vcpkg_list(APPEND linker_flags -arch "${arch}") - endforeach() - endif() - if(VCPKG_DETECTED_CMAKE_OSX_SYSROOT) - vcpkg_list(APPEND linker_flags -isysroot "${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}") - endif() - endif() vcpkg_list(APPEND linker_flags "${libpath}") z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) string(APPEND result "c_link_args = ${linker_flags}\n") diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index ec6ea55390739e..fa17c07b138800 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -44,7 +44,7 @@ list(APPEND VCPKG_DEFAULT_ENV_VARS_TO_CHECK PATH INCLUDE C_INCLUDE_PATH CPLUS_IN list(REMOVE_DUPLICATES VCPKG_DEFAULT_ENV_VARS_TO_CHECK) #Flags to check. Flags are a bit special since they are configuration aware. -set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER) +set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER MODULE_LINKER) foreach(flag IN LISTS FLAGS) list(APPEND VCPKG_DEFAULT_FLAGS_TO_CHECK CMAKE_${flag}_FLAGS) endforeach() @@ -98,7 +98,7 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() endif() - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + if(APPLE) if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) # macOS - append arch and isysroot if cross-compiling if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") @@ -129,7 +129,6 @@ foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) endforeach() endforeach() - file(WRITE "${VCPKG_OUTPUT_FILE}" "${OUTPUT_STRING}") # Programs: From 3f0bf208640888f4a3c54e882a3d742b6ea9242a Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 1 Sep 2022 15:38:17 +0200 Subject: [PATCH 02/41] deactivate most of ci --- scripts/azure-pipelines/azure-pipelines.yml | 84 ++++++++++----------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index d1db6ebf5bafde..878f1e2dcd9356 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -13,54 +13,54 @@ parameters: default: 'use default' jobs: -- template: windows/azure-pipelines.yml - parameters: - triplet: x86-windows - jobName: x86_windows - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: x86-windows +# jobName: x86_windows +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: x64-windows - jobName: x64_windows - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: x64-windows +# jobName: x64_windows +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: x64-windows-static - jobName: x64_windows_static - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: x64-windows-static +# jobName: x64_windows_static +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: x64-windows-static-md - jobName: x64_windows_static_md - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: x64-windows-static-md +# jobName: x64_windows_static_md +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: x64-uwp - jobName: x64_uwp - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: x64-uwp +# jobName: x64_uwp +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: arm64-windows - jobName: arm64_windows - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: arm64-windows +# jobName: arm64_windows +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -- template: windows/azure-pipelines.yml - parameters: - triplet: arm-uwp - jobName: arm_uwp - poolName: $(windows-pool) - vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +#- template: windows/azure-pipelines.yml +# parameters: +# triplet: arm-uwp +# jobName: arm_uwp +# poolName: $(windows-pool) +# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: osx/azure-pipelines.yml parameters: From ce3fd6065aa67913a0930c2eacc04148e656db6e Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 1 Sep 2022 15:38:27 +0200 Subject: [PATCH 03/41] get trace output --- scripts/cmake/z_vcpkg_get_cmake_vars.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake index 51e0f03a9142e0..a94c4e195a93b5 100644 --- a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake +++ b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake @@ -17,6 +17,7 @@ function(z_vcpkg_get_cmake_vars out_file) CACHE PATH "The file to include to access the CMake variables from a generated project.") vcpkg_configure_cmake( SOURCE_PATH "${SCRIPTS}/get_cmake_vars" + OPTIONS --trace-expand OPTIONS_DEBUG "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}-dbg.cmake.log" OPTIONS_RELEASE "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}-rel.cmake.log" PREFER_NINJA From 43553d9a4ba2e1c6f0026356f2352da27c67b440 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 1 Sep 2022 15:41:26 +0200 Subject: [PATCH 04/41] add required flags to the linker flags --- scripts/get_cmake_vars/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index fa17c07b138800..a2691713a8ec9d 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -99,6 +99,7 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() if(APPLE) + list(APPEND VCPKG_LANG_FLAGS CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS) if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) # macOS - append arch and isysroot if cross-compiling if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") From b8f6974681d8d76aa1aa042af758f92317cdd07d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:33:55 +0200 Subject: [PATCH 05/41] also look for --sysroot --- scripts/cmake/vcpkg_configure_make.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index d085af0a64a928..7985af5a137ba5 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -74,8 +74,8 @@ macro(z_vcpkg_determine_autotools_target_arch_mac out_var) endmacro() macro(z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags flag_suffix) - string(REGEX MATCHALL "( |^)(-D|-isysroot|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - string(REGEX MATCHALL "( |^)(-D|-isysroot|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") list(JOIN CXXPPFLAGS_${flag_suffix} "|" CXXREGEX) if(CXXREGEX) list(FILTER CPPFLAGS_${flag_suffix} INCLUDE REGEX "(${CXXREGEX})") From c411a33edbe24b2e0af23415cb8711bb4a2bb4f8 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 2 Sep 2022 10:47:55 +0200 Subject: [PATCH 06/41] Link_args are always shared --- scripts/cmake/vcpkg_configure_meson.cmake | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 992ca868418f42..f22ffb44d6ac14 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -130,12 +130,8 @@ function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) vcpkg_list(APPEND cxxflags "-I${CURRENT_INSTALLED_DIR}/include") z_vcpkg_meson_convert_list_to_python_array(cxxflags ${cxxflags}) string(APPEND result "cpp_args = ${cxxflags}\n") + set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") - else() - set(linker_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}}") - endif() z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") vcpkg_list(APPEND linker_flags "${libpath}") z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) From 5578e672b37e470a586b685df10f81de7394da27 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 2 Sep 2022 11:35:59 +0200 Subject: [PATCH 07/41] fix ar flags --- scripts/cmake/vcpkg_configure_meson.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index f22ffb44d6ac14..36f6a4a6501218 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -9,6 +9,12 @@ function(z_vcpkg_append_proglist var_to_append additional_binaries) if(VCPKG_DETECTED_CMAKE_${prog}) if(meson_${prog}) string(APPEND "${var_to_append}" "${meson_${prog}} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") + elseif(${prog} STREQUAL AR AND "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") + # Probably need to move AR somewhere else + z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE}") + list(PREPEND ar_flags "${VCPKG_DETECTED_CMAKE_${prog}}") + z_vcpkg_meson_convert_list_to_python_array(ar_flags "${ar_flags}") + string(APPEND "${var_to_append}" "${proglower} = ${ar_flags}\n") else() string(TOLOWER "${prog}" proglower) string(APPEND "${var_to_append}" "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") From ac5c8f99593a5c91f6b7be8cc41aa6f5c57bc87d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 2 Sep 2022 23:03:54 +0200 Subject: [PATCH 08/41] setup FOR_BUILD vars. --- scripts/cmake/vcpkg_configure_make.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 7985af5a137ba5..5cbc4ccc94a99b 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -754,10 +754,14 @@ function(vcpkg_configure_make) # Setup environment set(ENV{CPPFLAGS} "${CPPFLAGS_${current_buildtype}}") + set(ENV{CPPFLAGS_FOR_BUILD} "${CPPFLAGS_${current_buildtype}}") set(ENV{CFLAGS} "${CFLAGS_${current_buildtype}}") + set(ENV{CFLAGS_FOR_BUILD} "${CFLAGS_${current_buildtype}}") set(ENV{CXXFLAGS} "${CXXFLAGS_${current_buildtype}}") + #set(ENV{CXXFLAGS_FOR_BUILD} "${CXXFLAGS_${current_buildtype}}") -> doesn't exist officially set(ENV{RCFLAGS} "${VCPKG_DETECTED_CMAKE_RC_FLAGS_${current_buildtype}}") set(ENV{LDFLAGS} "${LDFLAGS_${current_buildtype}}") + set(ENV{LDFLAGS_FOR_BUILD} "${LDFLAGS_${current_buildtype}}") if(ARFLAGS_${current_buildtype} AND NOT (arg_USE_WRAPPERS AND VCPKG_TARGET_IS_WINDOWS)) # Target windows with wrappers enabled cannot forward ARFLAGS since it breaks the wrapper set(ENV{ARFLAGS} "${ARFLAGS_${current_buildtype}}") @@ -767,6 +771,7 @@ function(vcpkg_configure_make) # and libtool tries to avoid versioning for shared libraries and no symbolic links are created. if(VCPKG_TARGET_IS_ANDROID) set(ENV{LDFLAGS} "-avoid-version $ENV{LDFLAGS}") + set(ENV{LDFLAGS_FOR_BUILD} "-avoid-version $ENV{LDFLAGS_FOR_BUILD}") endif() if(LINK_ENV_${current_buildtype}) From 98e8b8248fcb82511817537514254e39b3d3d72f Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 3 Sep 2022 21:33:45 +0200 Subject: [PATCH 09/41] try tricking the build.... but man configure scripts are stupid sometimes... --- scripts/cmake/vcpkg_configure_make.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 5cbc4ccc94a99b..bda1ddcdb516c7 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -774,6 +774,11 @@ function(vcpkg_configure_make) set(ENV{LDFLAGS_FOR_BUILD} "-avoid-version $ENV{LDFLAGS_FOR_BUILD}") endif() + if(VCPKG_TARGET_IS_OSX) # This is so stupid but configure scripts are stupid and don't use all flags sometimes o.O + set(ENV{CC} "$ENV{CC} $(CPPFLAGS) $(CFLAGS)") + set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $(CPPFLAGS) $(CFLAGS)") + endif() + if(LINK_ENV_${current_buildtype}) set(link_config_backup "$ENV{_LINK_}") set(ENV{_LINK_} "${LINK_ENV_${current_buildtype}}") From 4b5f8034f5c894193f2bfec143c70d1a3285c649 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 3 Sep 2022 22:56:16 +0200 Subject: [PATCH 10/41] try 2 --- scripts/cmake/vcpkg_configure_make.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index bda1ddcdb516c7..f578c01ba14322 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -775,8 +775,8 @@ function(vcpkg_configure_make) endif() if(VCPKG_TARGET_IS_OSX) # This is so stupid but configure scripts are stupid and don't use all flags sometimes o.O - set(ENV{CC} "$ENV{CC} $(CPPFLAGS) $(CFLAGS)") - set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $(CPPFLAGS) $(CFLAGS)") + set(ENV{CC} "$ENV{CC} $ENV{CPPFLAGS} $ENV{CFLAGS}") + set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $ENV{CPPFLAGS} $ENV{CFLAGS}") endif() if(LINK_ENV_${current_buildtype}) From cf7adebcbef44e37689da6099f2c76fee09b7f85 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 3 Sep 2022 23:17:07 +0200 Subject: [PATCH 11/41] major meson rewrite --- scripts/buildsystems/meson/meson.template.in | 41 ++ scripts/cmake/vcpkg_configure_meson.cmake | 406 ++++++++----------- 2 files changed, 219 insertions(+), 228 deletions(-) create mode 100644 scripts/buildsystems/meson/meson.template.in diff --git a/scripts/buildsystems/meson/meson.template.in b/scripts/buildsystems/meson/meson.template.in new file mode 100644 index 00000000000000..e38b0922efa977 --- /dev/null +++ b/scripts/buildsystems/meson/meson.template.in @@ -0,0 +1,41 @@ +[binaries] +cmake = ['@CMAKE_COMMAND@'] +python = ['@PYTHON3@'] +ninja = ['@NINJA@'] +pkgconfig= ['@PKGCONFIG@'] +@MESON_MT@ +@MESON_AR@ +@MESON_C@ +@MESON_C_LD@ +@MESON_CXX@ +@MESON_CXX_LD@ +@MESON_OBJC@ +@MESON_OBJC_LD@ +@MESON_OBJCPP@ +@MESON_OBJCPP_LD@ +@MESON_FC@ +@MESON_FC_LD@ +@MESON_WINDRES@ +@MESON_ADDITIONAL_BINARIES@ +[properties] +cmake_toolchain_file = '@SCRIPTS@/buildsystems/vcpkg.cmake' +[cmake] +VCPKG_TARGET_TRIPLET = '@TARGET_TRIPLET@' +VCPKG_HOST_TRIPLET = '@_HOST_TRIPLET@' +VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '@VCPKG_CHAINLOAD_TOOLCHAIN_FILE@' +VCPKG_CRT_LINKAGE = '@VCPKG_CRT_LINKAGE@' +_VCPKG_INSTALLED_DIR = '@_VCPKG_INSTALLED_DIR@' +@MESON_HOST_MACHINE@ +@MESON_BUILD_MACHINE@ +[built-in options] +default_library = '@MESON_DEFAULT_LIBRARY@' +werror = false +@MESON_CFLAGS@ +@MESON_CXXFLAGS@ +@MESON_FCFLAGS@ +@MESON_OBJCFLAGS@ +@MESON_OBJCPPFLAGS@ +# b_vscrt +@MESON_VSCRT_LINKAGE@ +# c_winlibs/cpp_winlibs +@MESON_WINLIBS@ \ No newline at end of file diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 36f6a4a6501218..c260fb889b3317 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -1,5 +1,4 @@ -function(z_vcpkg_append_proglist var_to_append additional_binaries) - string(APPEND "${var_to_append}" "[binaries]\n") +function(z_vcpkg_meson_set_proglist_variables config_type) if(VCPKG_TARGET_IS_WINDOWS) set(proglist MT AR) else() @@ -8,91 +7,45 @@ function(z_vcpkg_append_proglist var_to_append additional_binaries) foreach(prog IN LISTS proglist) if(VCPKG_DETECTED_CMAKE_${prog}) if(meson_${prog}) - string(APPEND "${var_to_append}" "${meson_${prog}} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") - elseif(${prog} STREQUAL AR AND "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") + string(TOUPPER "MESON_${meson_${prog}}" var_to_set) + set("${var_to_set}" "${meson_${prog}} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) + elseif(${prog} STREQUAL AR AND VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}) # Probably need to move AR somewhere else - z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE}") + string(TOLOWER "${prog}" proglower) + z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}}") list(PREPEND ar_flags "${VCPKG_DETECTED_CMAKE_${prog}}") - z_vcpkg_meson_convert_list_to_python_array(ar_flags "${ar_flags}") - string(APPEND "${var_to_append}" "${proglower} = ${ar_flags}\n") + z_vcpkg_meson_convert_list_to_python_array(ar_flags ${ar_flags}) + set("MESON_AR" "${proglower} = ${ar_flags}" PARENT_SCOPE) else() + string(TOUPPER "MESON_${prog}" var_to_set) string(TOLOWER "${prog}" proglower) - string(APPEND "${var_to_append}" "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") + set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) endif() endif() endforeach() - set(programs C CXX RC) + set(compilers "${arg_LANGUAGES}" RC) set(meson_RC windres) + set(meson_Fortran fc) set(meson_CXX cpp) - foreach(prog IN LISTS programs) + foreach(prog IN LISTS compilers) if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER) + string(TOUPPER "MESON_${prog}" var_to_set) if(meson_${prog}) - string(APPEND "${var_to_append}" "${meson_${prog}} = '${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}'\n") + set("${var_to_set}" "${meson_${prog}} = ['${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}']" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$") + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${meson_${prog}}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() else() string(TOLOWER "${prog}" proglower) - string(APPEND "${var_to_append}" "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}'\n") + set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}']" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$") + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${proglower}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() endif() endif() endforeach() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND "${var_to_append}" "c_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") - endif() - endif() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND "${var_to_append}" "cpp_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") - endif() - endif() - - get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) - vcpkg_add_to_path("${CMAKE_PATH}" PREPEND) # Make CMake invokeable for Meson - string(APPEND "${var_to_append}" "cmake = '${CMAKE_COMMAND}'\n") - - vcpkg_find_acquire_program(PYTHON3) - get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) - vcpkg_add_to_path("${PYTHON3_DIR}") - string(APPEND "${var_to_append}" "python = '${PYTHON3}'\n") - - vcpkg_find_acquire_program(NINJA) - get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) - vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. - # string(APPEND "${var_to_append}" "ninja = '${NINJA}'\n") # This does not work due to meson issues - - foreach(additional_binary IN LISTS additional_binaries) - string(APPEND "${var_to_append}" "${additional_binary}\n") - endforeach() - set("${var_to_append}" "${${var_to_append}}" PARENT_SCOPE) -endfunction() - -function(z_vcpkg_meson_generate_native_file additional_binaries) #https://mesonbuild.com/Native-environments.html - set(native_config "") - z_vcpkg_append_proglist(native_config "${additional_binaries}") - - string(APPEND native_config "[built-in options]\n") #https://mesonbuild.com/Builtin-options.html - if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - # This is currently wrongly documented in the meson docs or buggy. The docs say: 'none' = no flags - # In reality however 'none' tries to deactivate eh and meson passes the flags for it resulting in a lot of warnings - # about overriden flags. Until this is fixed in meson vcpkg should not pass this here. - # string(APPEND native_config "cpp_eh='none'\n") # To make sure meson is not adding eh flags by itself using msvc - endif() - if(VCPKG_TARGET_IS_WINDOWS) - set(c_winlibs "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") - set(cpp_winlibs "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") - foreach(libvar IN ITEMS c_winlibs cpp_winlibs) - string(REGEX REPLACE "( |^)(-|/)" [[;\2]] "${libvar}" "${${libvar}}") - string(REPLACE ".lib " ".lib;" "${libvar}" "${${libvar}}") - vcpkg_list(REMOVE_ITEM "${libvar}" "") - vcpkg_list(JOIN "${libvar}" "', '" "${libvar}") - string(APPEND native_config "${libvar} = ['${${libvar}}']\n") - endforeach() - endif() - - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-native-${TARGET_TRIPLET}.log") - set(vcpkg_meson_native_file "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${native_config}") endfunction() function(z_vcpkg_meson_convert_compiler_flags_to_list out_var compiler_flags) @@ -111,9 +64,7 @@ function(z_vcpkg_meson_convert_list_to_python_array out_var) endfunction() # Generates the required compiler properties for meson -function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) - set(result "") - +function(z_vcpkg_meson_set_flags_variables config_type) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(libpath_flag /LIBPATH:) else() @@ -125,62 +76,34 @@ function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) set(path_suffix "") endif() + set(includepath "-I${CURRENT_INSTALLED_DIR}/include") set(libpath "${libpath_flag}${CURRENT_INSTALLED_DIR}${path_suffix}/lib") - z_vcpkg_meson_convert_compiler_flags_to_list(cflags "${VCPKG_DETECTED_CMAKE_C_FLAGS_${config_type}}") - vcpkg_list(APPEND cflags "-I${CURRENT_INSTALLED_DIR}/include") - z_vcpkg_meson_convert_list_to_python_array(cflags ${cflags}) - string(APPEND result "c_args = ${cflags}\n") - - z_vcpkg_meson_convert_compiler_flags_to_list(cxxflags "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${config_type}}") - vcpkg_list(APPEND cxxflags "-I${CURRENT_INSTALLED_DIR}/include") - z_vcpkg_meson_convert_list_to_python_array(cxxflags ${cxxflags}) - string(APPEND result "cpp_args = ${cxxflags}\n") - set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") - - z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") - vcpkg_list(APPEND linker_flags "${libpath}") - z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) - string(APPEND result "c_link_args = ${linker_flags}\n") - string(APPEND result "cpp_link_args = ${linker_flags}\n") - set("${out_var}" "${result}" PARENT_SCOPE) -endfunction() - -function(z_vcpkg_meson_generate_native_file_config config_type) #https://mesonbuild.com/Native-environments.html - set(native_file "[properties]\n") #https://mesonbuild.com/Builtin-options.html - #Setup CMake properties - string(APPEND native_file "cmake_toolchain_file = '${SCRIPTS}/buildsystems/vcpkg.cmake'\n") - string(APPEND native_file "[cmake]\n") - - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - z_vcpkg_select_default_vcpkg_chainload_toolchain() - endif() - - string(APPEND native_file "VCPKG_TARGET_TRIPLET = '${TARGET_TRIPLET}'\n") - string(APPEND native_file "VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}'\n") - string(APPEND native_file "VCPKG_CRT_LINKAGE = '${VCPKG_CRT_LINKAGE}'\n") - - string(APPEND native_file "[built-in options]\n") - z_vcpkg_meson_generate_flags_properties_string(native_properties "${config_type}") - string(APPEND native_file "${native_properties}") - if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(crt_type mt) - else() - set(crt_type md) + foreach(lang IN LISTS arg_LANGUAGES) + z_vcpkg_meson_convert_compiler_flags_to_list(${lang}flags "${VCPKG_DETECTED_CMAKE_${lang}_FLAGS_${config_type}}") + if(lang MATCHES "^(C|CXX)$") + vcpkg_list(APPEND ${lang}flags "${includepath}") endif() - if("${config_type}" STREQUAL "DEBUG") - string(APPEND crt_type "d") + z_vcpkg_meson_convert_list_to_python_array(${lang}flags ${${lang}flags}) + set(lang_mapping "${lang}") + if(lang STREQUAL "Fortran") + set(lang_mapping "FC") endif() - string(APPEND native_file "b_vscrt = '${crt_type}'\n") - endif() - string(TOLOWER "${config_type}" lowerconfig) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-native-${TARGET_TRIPLET}-${lowerconfig}.log") - file(WRITE "${native_config_name}" "${native_file}") - set("vcpkg_meson_native_file_${config_type}" "${native_config_name}" PARENT_SCOPE) + string(TOLOWER "${lang_mapping}" langlower) + if(lang STREQUAL "CXX") + set(langlower cpp) + endif() + set(MESON_${lang_mapping}FLAGS "${langlower}_args = ${${lang}flags}\n") + set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") + z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") + vcpkg_list(APPEND linker_flags "${libpath}") + z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) + string(APPEND MESON_${lang_mapping}FLAGS "${langlower}_link_args = ${linker_flags}") + set(MESON_${lang_mapping}FLAGS "${MESON_${lang_mapping}FLAGS}" PARENT_SCOPE) + endforeach() endfunction() -function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbuild.com/Cross-compilation.html +function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #https://mesonbuild.com/Cross-compilation.html if(CMAKE_HOST_WIN32) if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) set(build_arch $ENV{PROCESSOR_ARCHITEW6432}) @@ -208,7 +131,7 @@ function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbu COMMAND uname -m OUTPUT_VARIABLE MACHINE COMMAND_ERROR_IS_FATAL ANY) - + # Show real machine architecture to visually understand whether we are in a native Apple Silicon terminal or running under Rosetta emulation debug_message("Machine: ${MACHINE}") @@ -254,150 +177,181 @@ function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbu message(FATAL_ERROR "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}!" ) endif() - set(cross_file "") - z_vcpkg_append_proglist(cross_file "${additional_binaries}") - - string(APPEND cross_file "[properties]\n") - - string(APPEND cross_file "[host_machine]\n") - string(APPEND cross_file "endian = 'little'\n") + set(host "[host_machine]\n") + string(APPEND host "endian = 'little'\n") if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW OR VCPKG_TARGET_IS_UWP) set(meson_system_name "windows") else() string(TOLOWER "${VCPKG_CMAKE_SYSTEM_NAME}" meson_system_name) endif() - string(APPEND cross_file "system = '${meson_system_name}'\n") - string(APPEND cross_file "cpu_family = '${host_cpu_fam}'\n") - string(APPEND cross_file "cpu = '${host_cpu}'\n") + string(APPEND host "system = '${meson_system_name}'\n") + string(APPEND host "cpu_family = '${host_cpu_fam}'\n") + string(APPEND host "cpu = '${host_cpu}'") + set(${host_system} "${host}" PARENT_SCOPE) - string(APPEND cross_file "[build_machine]\n") - string(APPEND cross_file "endian = 'little'\n") + set(build "[build_machine]\n") + string(APPEND build "endian = 'little'\n") if(WIN32) - string(APPEND cross_file "system = 'windows'\n") + string(APPEND build "system = 'windows'\n") elseif(DARWIN) - string(APPEND cross_file "system = 'darwin'\n") + string(APPEND build "system = 'darwin'\n") else() - string(APPEND cross_file "system = 'linux'\n") + string(APPEND build "system = 'linux'\n") endif() if(DEFINED build_cpu_fam) - string(APPEND cross_file "cpu_family = '${build_cpu_fam}'\n") + string(APPEND build "cpu_family = '${build_cpu_fam}'\n") endif() if(DEFINED build_cpu) - string(APPEND cross_file "cpu = '${build_cpu}'\n") + string(APPEND build "cpu = '${build_cpu}'") endif() + set(${build_system} "${build}" PARENT_SCOPE) if(NOT build_cpu_fam MATCHES "${host_cpu_fam}" OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_MINGW AND NOT WIN32)) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}.log") - set(vcpkg_meson_cross_file "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${cross_file}") + set(${is_cross} TRUE PARENT_SCOPE) endif() endfunction() -function(z_vcpkg_meson_generate_cross_file_config config_type) #https://mesonbuild.com/Native-environments.html - set(cross_${config_type}_log "[properties]\n") #https://mesonbuild.com/Builtin-options.html - string(APPEND cross_${config_type}_log "[built-in options]\n") - z_vcpkg_meson_generate_flags_properties_string(cross_properties ${config_type}) - string(APPEND cross_${config_type}_log "${cross_properties}") - if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(crt_type mt) - else() - set(crt_type md) - endif() - if(${config_type} STREQUAL "DEBUG") - set(crt_type ${crt_type}d) - endif() - set(c_winlibs "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") - set(cpp_winlibs "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") - foreach(libvar IN ITEMS c_winlibs cpp_winlibs) - string(REGEX REPLACE "( |^)(-|/)" [[;\2]] "${libvar}" "${${libvar}}") - string(REPLACE ".lib " ".lib;" "${libvar}" "${${libvar}}") - vcpkg_list(REMOVE_ITEM "${libvar}" "") - vcpkg_list(JOIN "${libvar}" "', '" "${libvar}") - string(APPEND cross_${config_type}_log "${libvar} = ['${${libvar}}']\n") - endforeach() - string(APPEND cross_${config_type}_log "b_vscrt = '${crt_type}'\n") +function(z_vcpkg_meson_setup_extra_windows_variables config_type) + ## b_vscrt + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(crt_type "mt") + else() + set(crt_type "md") endif() - string(TOLOWER "${config_type}" lowerconfig) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}-${lowerconfig}.log") - set(VCPKG_MESON_CROSS_FILE_${config_type} "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${cross_${config_type}_log}") + if(config_type STREQUAL "DEBUG") + set(crt_type "${crt_type}d") + endif() + set(MESON_VSCRT_LINKAGE "b_vscrt = '${crt_type}'" PARENT_SCOPE) + ## winlibs + separate_arguments(c_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") + separate_arguments(cpp_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + list(TRANSFORM c_winlibs REPLACE "^(-|/)" "") + list(TRANSFORM cpp_winlibs REPLACE "^(-|/)" "") + z_vcpkg_meson_convert_list_to_python_array(c_winlibs ${c_winlibs}) + z_vcpkg_meson_convert_list_to_python_array(cpp_winlibs ${cpp_winlibs}) + set(MESON_WINLIBS "c_winlibs = ${c_winlibs}\n") + string(APPEND MESON_WINLIBS "cpp_winlibs = ${cpp_winlibs}") + set(MESON_WINLIBS "${MESON_WINLIBS}" PARENT_SCOPE) endfunction() +function(z_vcpkg_meson_setup_variables config_type) + set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS) + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "") + endforeach() + + if(VCPKG_TARGET_IS_WINDOWS) + z_vcpkg_meson_setup_extra_windows_variables("${config_type}") + endif() + + z_vcpkg_meson_set_proglist_variables("${config_type}") + z_vcpkg_meson_set_flags_variables("${config_type}") + + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "${MESON_${var}}" PARENT_SCOPE) + endforeach() +endfunction() function(vcpkg_configure_meson) # parse parameters such that semicolons in options arguments to COMMAND don't get erased cmake_parse_arguments(PARSE_ARGV 0 arg "NO_PKG_CONFIG" "SOURCE_PATH" - "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES" ) + if(NOT arg_LANGUAGES) + set(arg_LANGUAGES C CXX) + endif() + + if(DEFINED arg_ADDITIONAL_NATIVE_BINARIES OR DEFINED arg_ADDITIONAL_CROSS_BINARIES) + message(WARNING "arg_ADDITIONAL_(NATIVE|CROSS)_BINARIES has been deprecated. Only use ADDITIONAL_BINARIES!") + endif() + + vcpkg_list(APPEND arg_ADDITIONAL_BINARIES ${arg_ADDITIONAL_NATIVE_BINARIES} ${arg_ADDITIONAL_CROSS_BINARIES}) + vcpkg_list(JOIN arg_ADDITIONAL_BINARIES "\n" MESON_ADDITIONAL_BINARIES) + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + z_vcpkg_select_default_vcpkg_chainload_toolchain() + endif() z_vcpkg_get_cmake_vars(cmake_vars_file) debug_message("Including cmake vars from: ${cmake_vars_file}") include("${cmake_vars_file}") vcpkg_find_acquire_program(MESON) - vcpkg_list(APPEND arg_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) + get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) + vcpkg_add_to_path("${CMAKE_PATH}" PREPEND) # Make CMake invokeable for Meson - # Allow overrides / additional configuration variables from triplets - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) - vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) - endif() - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE}) + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path("${PYTHON3_DIR}") + + vcpkg_find_acquire_program(NINJA) + get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) + vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. + + set(buildtypes "") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(buildname "DEBUG") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "debug/") + set(suffix_${buildname} "dbg") + set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") endif() - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG}) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(buildname "RELEASE") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "") + set(suffix_${buildname} "rel") + set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") endif() - if(NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file("${arg_ADDITIONAL_CROSS_BINARIES}") + vcpkg_list(APPEND arg_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) + + z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS) + + if(IS_CROSS) + # VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets + # For consistency this should proably be changed in the future? + vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${meson_input_file_RELEASE}") + else() + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${meson_input_file_RELEASE}") endif() - # We must use uppercase `DEBUG` and `RELEASE` here because they matches the configuration data - if(NOT VCPKG_MESON_CROSS_FILE_DEBUG AND vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file_config(DEBUG) + + # User provided cross/native files + if(VCPKG_MESON_NATIVE_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE}") endif() - if(NOT VCPKG_MESON_CROSS_FILE_RELEASE AND vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file_config(RELEASE) + if(VCPKG_MESON_NATIVE_FILE_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") endif() - if(vcpkg_meson_cross_file) - vcpkg_list(APPEND arg_OPTIONS --cross "${vcpkg_meson_cross_file}") + if(VCPKG_MESON_NATIVE_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") endif() - if(VCPKG_MESON_CROSS_FILE_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") + if(VCPKG_MESON_CROSS_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE}") endif() if(VCPKG_MESON_CROSS_FILE_RELEASE) vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE_RELEASE}") endif() - - if(NOT vcpkg_meson_native_file AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file("${arg_ADDITIONAL_NATIVE_BINARIES}") - endif() - if(NOT vcpkg_meson_native_file_DEBUG AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file_config(DEBUG) - endif() - if(NOT vcpkg_meson_native_file_RELEASE AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file_config(RELEASE) - endif() - if(vcpkg_meson_native_file AND NOT vcpkg_meson_cross_file) - vcpkg_list(APPEND arg_OPTIONS --native "${vcpkg_meson_native_file}") - vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${vcpkg_meson_native_file_DEBUG}") - vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${vcpkg_meson_native_file_RELEASE}") - else() - vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + if(VCPKG_MESON_CROSS_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_list(APPEND arg_OPTIONS --default-library shared) + set(MESON_DEFAULT_LIBRARY shared) else() - vcpkg_list(APPEND arg_OPTIONS --default-library static) + set(MESON_DEFAULT_LIBRARY static) endif() vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder @@ -412,23 +366,18 @@ function(vcpkg_configure_meson) vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']") endif() - - set(buildtypes) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(buildname "DEBUG") - vcpkg_list(APPEND buildtypes ${buildname}) - set(path_suffix_${buildname} "debug/") - set(suffix_${buildname} "dbg") + + # Allow overrides / additional configuration variables from triplets + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(buildname "RELEASE") - vcpkg_list(APPEND buildtypes ${buildname}) - set(path_suffix_${buildname} "") - set(suffix_${buildname} "rel") + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE}) + endif() + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG}) endif() - vcpkg_backup_env_variables(VARS INCLUDE) - vcpkg_host_path_list(APPEND ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include") # configure build foreach(buildtype IN LISTS buildtypes) message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}") @@ -442,6 +391,9 @@ function(vcpkg_configure_meson) endif() endif() + z_vcpkg_meson_setup_variables(${buildtype}) + configure_file("${SCRIPTS}/buildsystems/meson/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY) + vcpkg_execute_required_process( COMMAND ${MESON} ${arg_OPTIONS} ${arg_OPTIONS_${buildtype}} ${arg_SOURCE_PATH} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}" @@ -458,6 +410,4 @@ function(vcpkg_configure_meson) z_vcpkg_restore_pkgconfig_path() endif() endforeach() - - vcpkg_restore_env_variables(VARS INCLUDE) endfunction() From d9052023fa19fab7f717e39ea51b44442b7661ae Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 09:17:18 +0200 Subject: [PATCH 12/41] fix duplicates --- scripts/cmake/vcpkg_configure_meson.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index c260fb889b3317..73f3bc613f1fb3 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -268,10 +268,11 @@ function(vcpkg_configure_meson) endif() if(DEFINED arg_ADDITIONAL_NATIVE_BINARIES OR DEFINED arg_ADDITIONAL_CROSS_BINARIES) - message(WARNING "arg_ADDITIONAL_(NATIVE|CROSS)_BINARIES has been deprecated. Only use ADDITIONAL_BINARIES!") + message(WARNING "Options ADDITIONAL_(NATIVE|CROSS)_BINARIES have been deprecated. Only use ADDITIONAL_BINARIES!") endif() vcpkg_list(APPEND arg_ADDITIONAL_BINARIES ${arg_ADDITIONAL_NATIVE_BINARIES} ${arg_ADDITIONAL_CROSS_BINARIES}) + vcpkg_list(REMOVE_DUPLICATES arg_ADDITIONAL_BINARIES) vcpkg_list(JOIN arg_ADDITIONAL_BINARIES "\n" MESON_ADDITIONAL_BINARIES) file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") From 8c6339f1bee26ed6efbc4078c95890cadd6029c3 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:00:13 +0200 Subject: [PATCH 13/41] revert --trace-expand --- scripts/cmake/z_vcpkg_get_cmake_vars.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake index a94c4e195a93b5..51e0f03a9142e0 100644 --- a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake +++ b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake @@ -17,7 +17,6 @@ function(z_vcpkg_get_cmake_vars out_file) CACHE PATH "The file to include to access the CMake variables from a generated project.") vcpkg_configure_cmake( SOURCE_PATH "${SCRIPTS}/get_cmake_vars" - OPTIONS --trace-expand OPTIONS_DEBUG "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}-dbg.cmake.log" OPTIONS_RELEASE "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}-rel.cmake.log" PREFER_NINJA From 6757d041c20f7a02ee8ed36c15d218cc65017c35 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:00:27 +0200 Subject: [PATCH 14/41] update port version --- ports/vcpkg-cmake/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/vcpkg-cmake/vcpkg.json b/ports/vcpkg-cmake/vcpkg.json index 6ffadbbcee966b..4e2e4a085992d5 100644 --- a/ports/vcpkg-cmake/vcpkg.json +++ b/ports/vcpkg-cmake/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vcpkg-cmake", - "version-date": "2022-07-18", + "version-date": "2022-09-04", "documentation": "https://vcpkg.io/en/docs/maintainers/ports/vcpkg-cmake.html", "license": "MIT" } From 332329f5625e0cd9c940184e8485996859a1335f Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:01:15 +0200 Subject: [PATCH 15/41] revert pipeline changes --- scripts/azure-pipelines/azure-pipelines.yml | 84 ++++++++++----------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index 878f1e2dcd9356..d1db6ebf5bafde 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -13,54 +13,54 @@ parameters: default: 'use default' jobs: -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: x86-windows -# jobName: x86_windows -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: x86-windows + jobName: x86_windows + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: x64-windows -# jobName: x64_windows -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: x64-windows + jobName: x64_windows + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: x64-windows-static -# jobName: x64_windows_static -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: x64-windows-static + jobName: x64_windows_static + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: x64-windows-static-md -# jobName: x64_windows_static_md -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: x64-windows-static-md + jobName: x64_windows_static_md + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: x64-uwp -# jobName: x64_uwp -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: x64-uwp + jobName: x64_uwp + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: arm64-windows -# jobName: arm64_windows -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: arm64-windows + jobName: arm64_windows + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} -#- template: windows/azure-pipelines.yml -# parameters: -# triplet: arm-uwp -# jobName: arm_uwp -# poolName: $(windows-pool) -# vcpkgToolSha: ${{ parameters.vcpkgToolSha }} +- template: windows/azure-pipelines.yml + parameters: + triplet: arm-uwp + jobName: arm_uwp + poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} - template: osx/azure-pipelines.yml parameters: From 8b311a4bfa23c4a33809bb1d656464b60ce5d3c4 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:01:50 +0200 Subject: [PATCH 16/41] v db --- versions/baseline.json | 2 +- versions/v-/vcpkg-cmake.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 463118bf970129..ff54b977f060f6 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7533,7 +7533,7 @@ "port-version": 0 }, "vcpkg-cmake": { - "baseline": "2022-07-18", + "baseline": "2022-09-04", "port-version": 0 }, "vcpkg-cmake-config": { diff --git a/versions/v-/vcpkg-cmake.json b/versions/v-/vcpkg-cmake.json index a329f1d02a5aa2..02a0eb306183c1 100644 --- a/versions/v-/vcpkg-cmake.json +++ b/versions/v-/vcpkg-cmake.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3780cfcc9f13bc7636188eb31cde1a6d787e9a49", + "version-date": "2022-09-04", + "port-version": 0 + }, { "git-tree": "a7b618b7782f3c841d7fd2d84a6ba3619815362a", "version-date": "2022-07-18", From 886beb68c47628a5bfa7498e096c756635162f8c Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:03:27 +0200 Subject: [PATCH 17/41] bump version --- ports/vcpkg-cmake-get-vars/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/vcpkg-cmake-get-vars/vcpkg.json b/ports/vcpkg-cmake-get-vars/vcpkg.json index 33b54788223854..22628513551e28 100644 --- a/ports/vcpkg-cmake-get-vars/vcpkg.json +++ b/ports/vcpkg-cmake-get-vars/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vcpkg-cmake-get-vars", - "version-date": "2022-05-10", + "version-date": "2022-09-04", "port-version": 1, "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", From 8ee8423689c7f30aec42b212235b550a160d56fa Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 4 Sep 2022 23:03:44 +0200 Subject: [PATCH 18/41] v db --- versions/baseline.json | 2 +- versions/v-/vcpkg-cmake-get-vars.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index ff54b977f060f6..023ac0c66c4140 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7541,7 +7541,7 @@ "port-version": 1 }, "vcpkg-cmake-get-vars": { - "baseline": "2022-05-10", + "baseline": "2022-09-04", "port-version": 1 }, "vcpkg-get-python-packages": { diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 362bbdce76ccf4..75d77648da684f 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7e29eb16a2e9ae6c1f05a5a6aef3f45e260f6055", + "version-date": "2022-09-04", + "port-version": 1 + }, { "git-tree": "b50ca3d20736304215fbd82c102d4552457255bb", "version-date": "2022-05-10", From 002f6ba7b44e0129f38a9d59d975a8ae3bce1cc3 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 5 Sep 2022 15:06:52 +0200 Subject: [PATCH 19/41] set flags for rc compilers --- scripts/buildsystems/meson/meson.template.in | 1 + scripts/cmake/vcpkg_configure_meson.cmake | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/buildsystems/meson/meson.template.in b/scripts/buildsystems/meson/meson.template.in index e38b0922efa977..995d39b30cc506 100644 --- a/scripts/buildsystems/meson/meson.template.in +++ b/scripts/buildsystems/meson/meson.template.in @@ -5,6 +5,7 @@ ninja = ['@NINJA@'] pkgconfig= ['@PKGCONFIG@'] @MESON_MT@ @MESON_AR@ +@MESON_RC@ @MESON_C@ @MESON_C_LD@ @MESON_CXX@ diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 73f3bc613f1fb3..2f1a5879867af7 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -23,7 +23,10 @@ function(z_vcpkg_meson_set_proglist_variables config_type) endif() endif() endforeach() - set(compilers "${arg_LANGUAGES}" RC) + set(compilers "${arg_LANGUAGES}") + if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND compilers RC) + endif() set(meson_RC windres) set(meson_Fortran fc) set(meson_CXX cpp) @@ -36,6 +39,11 @@ function(z_vcpkg_meson_set_proglist_variables config_type) string(TOUPPER "MESON_${prog}_LD" var_to_set) set(${var_to_set} "${meson_${prog}}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) endif() + elseif(${prog} MATCHES RC AND VCPKG_DETECTED_CMAKE_RC_FLAGS_${config_type}) + z_vcpkg_meson_convert_compiler_flags_to_list(rc_flags "${VCPKG_DETECTED_CMAKE_RC_FLAGS_${config_type}}") + list(PREPEND rc_flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}") + z_vcpkg_meson_convert_list_to_python_array(rc_flags ${rc_flags}) + set("${var_to_set}" "${meson_${prog}} = ${rc_flags}" PARENT_SCOPE) else() string(TOLOWER "${prog}" proglower) set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}']" PARENT_SCOPE) @@ -238,7 +246,7 @@ function(z_vcpkg_meson_setup_extra_windows_variables config_type) endfunction() function(z_vcpkg_meson_setup_variables config_type) - set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS) + set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR RC C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS) foreach(var IN LISTS meson_var_list) set(MESON_${var} "") endforeach() From a5b9bc850b9a36de7aa83c681a7d9ac8e5b34c21 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 6 Sep 2022 12:36:54 +0200 Subject: [PATCH 20/41] a few more ios fixes. --- ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 8 +++----- scripts/cmake/vcpkg_configure_make.cmake | 3 ++- scripts/get_cmake_vars/CMakeLists.txt | 6 ++++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index 4b3059fbaea9b8..9612207e2939aa 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -101,11 +101,9 @@ if(APPLE) string(APPEND EXTRA_FLAGS " -arch ${arch}") endforeach() if(CMAKE_OSX_DEPLOYMENT_TARGET) - if(CMAKE_SYSTEM_NAME STREQUAL "iOS") - string(APPEND EXTRA_FLAGS " -mios-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") - elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - string(APPEND EXTRA_FLAGS " -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") - endif() + list(GET VCPKG_LANGUAGES 0 lang) + string(APPEND EXTRA_FLAGS " ${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}") + unset(lang) endif() endif() if(CMAKE_CXX_COMPILER_TARGET) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index f578c01ba14322..df3c14afb9b37c 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -774,7 +774,8 @@ function(vcpkg_configure_make) set(ENV{LDFLAGS_FOR_BUILD} "-avoid-version $ENV{LDFLAGS_FOR_BUILD}") endif() - if(VCPKG_TARGET_IS_OSX) # This is so stupid but configure scripts are stupid and don't use all flags sometimes o.O + if(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_IS_IOS) + # configure not using all flags to check if compiler works ... set(ENV{CC} "$ENV{CC} $ENV{CPPFLAGS} $ENV{CFLAGS}") set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $ENV{CPPFLAGS} $ENV{CFLAGS}") endif() diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index a2691713a8ec9d..1c937c7d361c30 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -9,7 +9,7 @@ list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_CROSSCOMPILING CMAKE_HOST_SYSTEM_NAME CMAKE_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_PROCESSOR) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin") +if(APPLE) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT) endif() @@ -109,7 +109,9 @@ macro(_vcpkg_adjust_flags flag_var) endif() string(APPEND ${flag_var} " -isysroot ${CMAKE_OSX_SYSROOT}") if (CMAKE_OSX_DEPLOYMENT_TARGET) - string(APPEND ${flag_var} " -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") + list(GET VCPKG_LANGUAGES 0 lang) + string(APPEND ${flag_var} " ${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}") + unset(lang) endif() endif() endif() From 133b0a045d4dc7a970672ce21f37b837c55100e0 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 6 Sep 2022 14:44:25 +0200 Subject: [PATCH 21/41] v db --- versions/v-/vcpkg-cmake-get-vars.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 75d77648da684f..5511087bfbdc8f 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "7e29eb16a2e9ae6c1f05a5a6aef3f45e260f6055", + "git-tree": "5fd841b2e50d19dda5d05578105cf43507371645", "version-date": "2022-09-04", "port-version": 1 }, From 176edfbb330eff77de1752075d8e68ef55114152 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 8 Sep 2022 13:53:23 +0200 Subject: [PATCH 22/41] fix osx/ios logic --- scripts/cmake/vcpkg_configure_make.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index df3c14afb9b37c..533827430c5741 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -774,7 +774,7 @@ function(vcpkg_configure_make) set(ENV{LDFLAGS_FOR_BUILD} "-avoid-version $ENV{LDFLAGS_FOR_BUILD}") endif() - if(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_IS_IOS) + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) # configure not using all flags to check if compiler works ... set(ENV{CC} "$ENV{CC} $ENV{CPPFLAGS} $ENV{CFLAGS}") set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $ENV{CPPFLAGS} $ENV{CFLAGS}") From 22564ed838d810cefbd5289f412c16973cafa972 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 9 Sep 2022 20:17:47 +0200 Subject: [PATCH 23/41] documentation and don't fatal_error in build/host machine entry calculation. --- docs/users/triplets.md | 5 ++ scripts/cmake/vcpkg_configure_meson.cmake | 68 +++++++++++++++-------- 2 files changed, 50 insertions(+), 23 deletions(-) diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 1b42bd7505dad6..08a076517c2958 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -100,6 +100,11 @@ This field is optional. Also available as build-type specific `VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG` and `VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE` variables. +### VCPKG_MESON_(CROSS|NATIVE)_FILE(_RELEASE|_DEBUG) +Provide an additional (configuration dependent) file as a meson cross/native file. Can be used to override settings provided by vcpkg since it will be passed after vcpkg's generated cross/native files are passed. + +Especially usefull to provide your own build_machine and host_machine entries. + ### VCPKG_CMAKE_CONFIGURE_OPTIONS Set additional CMake configure options that are appended to the configure command (in [`vcpkg_cmake_configure`](../maintainers/vcpkg_cmake_configure.md)). diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 2f1a5879867af7..25f2c47b2564d7 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -112,6 +112,7 @@ function(z_vcpkg_meson_set_flags_variables config_type) endfunction() function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #https://mesonbuild.com/Cross-compilation.html + set(build_unknown FALSE) if(CMAKE_HOST_WIN32) if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) set(build_arch $ENV{PROCESSOR_ARCHITEW6432}) @@ -131,7 +132,10 @@ function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #h set(build_cpu_fam arm) set(build_cpu armv7hl) else() - message(FATAL_ERROR "Unsupported host architecture ${build_arch}!") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported build architecture ${build_arch}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) endif() elseif(CMAKE_HOST_UNIX) # at this stage, CMAKE_HOST_SYSTEM_PROCESSOR is not defined @@ -160,12 +164,43 @@ function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #h set(build_cpu loongarch64) else() # https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-tables.md#cpu-families - message(FATAL_ERROR "Unhandled machine: ${MACHINE}") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unhandled machine: ${MACHINE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) endif() else() - message(FATAL_ERROR "Failed to detect the host architecture!") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Failed to detect the build architecture! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) + endif() + + set(build "[build_machine]\n") # Machine the build is performed on + string(APPEND build "endian = 'little'\n") + if(WIN32) + string(APPEND build "system = 'windows'\n") + elseif(DARWIN) + string(APPEND build "system = 'darwin'\n") + elseif(CYGWIN) + string(APPEND build "system = 'cygwin'\n") + elseif(UNIX) + string(APPEND build "system = 'linux'\n") + else() + set(build_unknown TRUE) + endif() + + if(DEFINED build_cpu_fam) + string(APPEND build "cpu_family = '${build_cpu_fam}'\n") + endif() + if(DEFINED build_cpu) + string(APPEND build "cpu = '${build_cpu}'") + endif() + if(NOT build_unknown) + set(${build_system} "${build}" PARENT_SCOPE) endif() + set(host_unkown FALSE) if(VCPKG_TARGET_ARCHITECTURE MATCHES "(amd|AMD|x|X)64") set(host_cpu_fam x86_64) set(host_cpu x86_64) @@ -182,10 +217,13 @@ function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #h set(host_cpu_fam loongarch64) set(host_cpu loongarch64) else() - message(FATAL_ERROR "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}!" ) + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the host_machine entry!" ) + endif() + set(host_unkown TRUE) endif() - set(host "[host_machine]\n") + set(host "[host_machine]\n") # host=target in vcpkg. string(APPEND host "endian = 'little'\n") if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW OR VCPKG_TARGET_IS_UWP) set(meson_system_name "windows") @@ -195,25 +233,9 @@ function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #h string(APPEND host "system = '${meson_system_name}'\n") string(APPEND host "cpu_family = '${host_cpu_fam}'\n") string(APPEND host "cpu = '${host_cpu}'") - set(${host_system} "${host}" PARENT_SCOPE) - - set(build "[build_machine]\n") - string(APPEND build "endian = 'little'\n") - if(WIN32) - string(APPEND build "system = 'windows'\n") - elseif(DARWIN) - string(APPEND build "system = 'darwin'\n") - else() - string(APPEND build "system = 'linux'\n") - endif() - - if(DEFINED build_cpu_fam) - string(APPEND build "cpu_family = '${build_cpu_fam}'\n") - endif() - if(DEFINED build_cpu) - string(APPEND build "cpu = '${build_cpu}'") + if(NOT host_unkown) + set(${host_system} "${host}" PARENT_SCOPE) endif() - set(${build_system} "${build}" PARENT_SCOPE) if(NOT build_cpu_fam MATCHES "${host_cpu_fam}" OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP From 1570c352a9410466af6603c478b2a74e78904176 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 14 Sep 2022 18:32:14 +0200 Subject: [PATCH 24/41] add android/compiler target stuff from #26570 --- .../cmake_get_vars/CMakeLists.txt | 16 ++++++++++------ scripts/get_cmake_vars/CMakeLists.txt | 12 +++++++++++- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index 9612207e2939aa..1f4bbb4fa6e48a 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -33,7 +33,8 @@ foreach(_lang IN LISTS VCPKG_LANGUAGES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILE_FEATURES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_EXTENSION) - # Probably never required since implicit. + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILER_TARGET) + # Probably never required since implicit. #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES) #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_DIRECTORIES) @@ -106,13 +107,16 @@ if(APPLE) unset(lang) endif() endif() -if(CMAKE_CXX_COMPILER_TARGET) - if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}\"") - elseif(CMAKE_CXX_COMPILE_OPTIONS_TARGET) - string(APPEND EXTRA_FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_TARGET} \"${CMAKE_CXX_COMPILER_TARGET}\"") +foreach(lang IN_LIST VCPKG_LANGUAGES) + if(CMAKE_${lang}_COMPILER_TARGET) + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + string(PREPEND EXTRA_FLAGS "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + string(PREPEND EXTRA_FLAGS " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + endif() endif() endif() +endforeach() if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index 1c937c7d361c30..528010db180da7 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -30,7 +30,8 @@ foreach(_lang IN LISTS VCPKG_LANGUAGES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILE_FEATURES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_EXTENSION) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) - + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILER_TARGET) + # Probably never required since implicit. #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES) @@ -115,6 +116,15 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() endif() + foreach(lang IN LISTS VCPKG_LANGUAGES) + if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" STREQUAL "CMAKE_${lang}_FLAGS") + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + string(PREPEND ${flag_var} " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + endif() + endif() + endforeach() endmacro() foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) From 1673027664d366b42d5336cadf22d6358a25a51a Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 14 Sep 2022 21:47:48 +0200 Subject: [PATCH 25/41] remove extra endif --- ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index 1f4bbb4fa6e48a..9deea607c563b2 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -115,7 +115,6 @@ foreach(lang IN_LIST VCPKG_LANGUAGES) string(PREPEND EXTRA_FLAGS " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") endif() endif() -endif() endforeach() if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") From 5b3056959722579f6b7f95123dd69fd26d6cf699 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 17 Sep 2022 17:15:32 +0200 Subject: [PATCH 26/41] v db --- versions/v-/vcpkg-cmake-get-vars.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 5511087bfbdc8f..04841252f61af6 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "5fd841b2e50d19dda5d05578105cf43507371645", + "git-tree": "356e61db963dac2aec48271a3bc63df5177f1279", "version-date": "2022-09-04", "port-version": 1 }, From 7e4ffa9d621bfff2b7401cab8481569f5aa1a606 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 09:37:15 +0200 Subject: [PATCH 27/41] add target param to linker flags. --- .../cmake_get_vars/CMakeLists.txt | 13 ++++++---- scripts/get_cmake_vars/CMakeLists.txt | 24 ++++++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index 9deea607c563b2..774403b53817f8 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -107,12 +107,13 @@ if(APPLE) unset(lang) endif() endif() +set(target_param "") foreach(lang IN_LIST VCPKG_LANGUAGES) if(CMAKE_${lang}_COMPILER_TARGET) if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) - string(PREPEND EXTRA_FLAGS "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) - string(PREPEND EXTRA_FLAGS " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") endif() endif() endforeach() @@ -127,12 +128,14 @@ if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") endif() -foreach(flags CXX C SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER) - set(${flags}_FLAGS "${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}} ${EXTRA_FLAGS}") +foreach(flags ${VCPKG_LANGUAGES} SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER) + set(${flags}_FLAGS "${target_param} ${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}} ${EXTRA_FLAGS}") + string(STRIP ${flags}_FLAGS "${${flags}_FLAGS}") endforeach() foreach(flags STATIC_LINKER RC) set(${flags}_FLAGS "${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}}") + string(STRIP ${flags}_FLAGS "${${flags}_FLAGS}") endforeach() foreach(incdir IN LISTS CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES) @@ -143,7 +146,7 @@ foreach(incdir IN LISTS CMAKE_C_STANDARD_INCLUDE_DIRECTORIES) string(APPEND C_FLAGS " \"${CMAKE_INCLUDE_FLAG_C}${incdir}\"") endforeach() -foreach(flag CXX C SHARED_LINKER EXE_LINKER STATIC_LINKER RC) +foreach(flag ${VCPKG_LANGUAGES} SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER RC) # When using MSVC, maybe transform /flags to -flags. # When cross compiling, "/flags" may be an absolute path starting with /, so don't transform. # Otherwise, transform to improve compatibility with scripts interpreting "/flags" as a path. diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index 528010db180da7..473d369a3dac17 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -116,15 +116,23 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() endif() - foreach(lang IN LISTS VCPKG_LANGUAGES) - if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" STREQUAL "CMAKE_${lang}_FLAGS") - if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) - string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") - elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) - string(PREPEND ${flag_var} " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") - endif() + set(target_param "") + list(GET VCPKG_LANGUAGES 0 lang) + if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" STREQUAL "CMAKE_${lang}_FLAGS") + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + string(PREPEND ${flag_var} " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") endif() - endforeach() + set(linker_flags CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS) + if(target_param AND "${flag_var}" IN_LIST linker_flags) + string(PREPEND ${flag_var} "${target_param} ") + endif() + endif() + unset(lang) + unset(target_param) endmacro() foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) From 4acc2d02b8548f919df41c01a67a61467b37e026 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 09:38:47 +0200 Subject: [PATCH 28/41] target in cpp flags --- scripts/cmake/vcpkg_configure_make.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 533827430c5741..2e5b6ffbc0bd5b 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -74,8 +74,8 @@ macro(z_vcpkg_determine_autotools_target_arch_mac out_var) endmacro() macro(z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags flag_suffix) - string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]) ?[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]|--target=|-target) ?[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") + string(REGEX MATCHALL "( |^)(-D|-isysroot|--sysroot=|-isystem|-m?[Aa][Rr][Cc][Hh]|--target=|-target) ?[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") list(JOIN CXXPPFLAGS_${flag_suffix} "|" CXXREGEX) if(CXXREGEX) list(FILTER CPPFLAGS_${flag_suffix} INCLUDE REGEX "(${CXXREGEX})") From 005ccbef24dd5d93da7869e5262a63159fb3eaa2 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sun, 18 Sep 2022 10:10:56 +0200 Subject: [PATCH 29/41] Make vcpkg-cmake-get-vars more ios compatible --- ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index 774403b53817f8..d2d22a96556cb5 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -12,7 +12,7 @@ list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_CROSSCOMPILING CMAKE_SIZEOF_VOID_P MSVC MSVC_VERSION) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin") +if(APPLE) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT) endif() From 6aca33538a7825100dc0d71b6cc05dc0685a3017 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 10:25:45 +0200 Subject: [PATCH 30/41] Update scripts/get_cmake_vars/CMakeLists.txt Co-authored-by: Matthias Kuhn --- scripts/get_cmake_vars/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index 473d369a3dac17..cab0b870b6b9a1 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -123,7 +123,8 @@ macro(_vcpkg_adjust_flags flag_var) string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) - string(PREPEND ${flag_var} " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET} ") + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") endif() set(linker_flags CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS) From ceb7bfeef07c2e5d31fc2824467196e6937a634e Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sun, 18 Sep 2022 12:35:11 +0200 Subject: [PATCH 31/41] More ios fixes --- scripts/cmake/vcpkg_configure_make.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 2e5b6ffbc0bd5b..8a4b821d4b1080 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -432,7 +432,7 @@ function(vcpkg_configure_make) endif() # macOS - cross-compiling support - if(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) if (requires_autoconfig AND NOT arg_BUILD_TRIPLET OR arg_DETERMINE_BUILD_TRIPLET) z_vcpkg_determine_autotools_host_arch_mac(BUILD_ARCH) # machine you are building on => --build= z_vcpkg_determine_autotools_target_arch_mac(TARGET_ARCH) @@ -441,7 +441,7 @@ function(vcpkg_configure_make) # --target: the machine that CC will produce binaries for # https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler # Only for ports using autotools so we can assume that they follow the common conventions for build/target/host - if(NOT "${TARGET_ARCH}" STREQUAL "${BUILD_ARCH}") # we don't need to specify the additional flags if we build natively. + if(NOT "${TARGET_ARCH}" STREQUAL "${BUILD_ARCH}" OR NOT VCPKG_TARGET_IS_OSX) # we don't need to specify the additional flags if we build natively. set(arg_BUILD_TRIPLET "--host=${TARGET_ARCH}-apple-darwin") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) endif() debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") From 6f189561c0ba80c9ab7fb02671ac3c224752ad45 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 13:03:57 +0200 Subject: [PATCH 32/41] fix target adding --- scripts/get_cmake_vars/CMakeLists.txt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index 473d369a3dac17..ee9f2bc98bea69 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -100,8 +100,8 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() if(APPLE) - list(APPEND VCPKG_LANG_FLAGS CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS) - if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) + set(flags_to_add_osx_arch_sysroot "${VCPKG_LANG_FLAGS}" CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS) + if("${flag_var}" IN_LIST flags_to_add_osx_arch_sysroot) # macOS - append arch and isysroot if cross-compiling if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES) @@ -116,23 +116,17 @@ macro(_vcpkg_adjust_flags flag_var) endif() endif() endif() - set(target_param "") + set(flags_to_add_target "${VCPKG_LANG_FLAGS}" CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS) list(GET VCPKG_LANGUAGES 0 lang) - if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" STREQUAL "CMAKE_${lang}_FLAGS") + if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" IN_LIST flags_to_add_target) if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") - set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) - string(PREPEND ${flag_var} " ${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") - set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") - endif() - set(linker_flags CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS) - if(target_param AND "${flag_var}" IN_LIST linker_flags) - string(PREPEND ${flag_var} "${target_param} ") + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET} ") endif() endif() unset(lang) - unset(target_param) + endmacro() foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) From 21553e5fd78a8abb63afafd3e498b146d7ec0d62 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sun, 18 Sep 2022 14:38:42 +0200 Subject: [PATCH 33/41] Fix broken loop --- .../cmake_get_vars/CMakeLists.txt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt index d2d22a96556cb5..7de32bbe632f44 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -108,15 +108,14 @@ if(APPLE) endif() endif() set(target_param "") -foreach(lang IN_LIST VCPKG_LANGUAGES) - if(CMAKE_${lang}_COMPILER_TARGET) - if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) - set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") - elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) - set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") - endif() +list(GET VCPKG_LANGUAGES 0 lang) +if(CMAKE_${lang}_COMPILER_TARGET) + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") endif() -endforeach() +endif() if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") From d902437a82ffc049a578f270356b7dfc1948dd38 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 15:12:48 +0200 Subject: [PATCH 34/41] v db --- versions/v-/vcpkg-cmake-get-vars.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 04841252f61af6..4fcaa93d5c8c6a 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "356e61db963dac2aec48271a3bc63df5177f1279", + "git-tree": "0cc9e3d25731bdffd94b97624bb397007ad4701b", "version-date": "2022-09-04", "port-version": 1 }, From 0475e5d9e9399fb17d4e6f2f5f92329ddde0040c Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 18 Sep 2022 15:13:26 +0200 Subject: [PATCH 35/41] v db --- versions/v-/vcpkg-cmake-get-vars.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 4fcaa93d5c8c6a..b092aeb7323d94 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "0cc9e3d25731bdffd94b97624bb397007ad4701b", + "git-tree": "e92563e673e150d876de93f0245dffa0505dc895", "version-date": "2022-09-04", "port-version": 1 }, From 051c678d392c6e7f8ca6f6dea06d6a5e24107b86 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 26 Sep 2022 09:49:51 +0200 Subject: [PATCH 36/41] bump date --- ports/vcpkg-cmake/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/vcpkg-cmake/vcpkg.json b/ports/vcpkg-cmake/vcpkg.json index f6f66b21a4ac9f..551259d22eea7c 100644 --- a/ports/vcpkg-cmake/vcpkg.json +++ b/ports/vcpkg-cmake/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vcpkg-cmake", - "version-date": "2022-08-18", + "version-date": "2022-09-26", "documentation": "https://vcpkg.io/en/docs/maintainers/ports/vcpkg-cmake.html", "license": "MIT" } From e422921be1bd2dd7115db2b1de76ba48213ff003 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 26 Sep 2022 09:50:03 +0200 Subject: [PATCH 37/41] v db --- versions/baseline.json | 2 +- versions/v-/vcpkg-cmake.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 375a56249d97f1..35a2b89114b030 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7601,7 +7601,7 @@ "port-version": 0 }, "vcpkg-cmake": { - "baseline": "2022-08-18", + "baseline": "2022-09-26", "port-version": 0 }, "vcpkg-cmake-config": { diff --git a/versions/v-/vcpkg-cmake.json b/versions/v-/vcpkg-cmake.json index 93f0c66974a2f1..33b27a53755880 100644 --- a/versions/v-/vcpkg-cmake.json +++ b/versions/v-/vcpkg-cmake.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "877eb76353d0ab13683146ec13de38dcaf67074f", + "version-date": "2022-09-26", + "port-version": 0 + }, { "git-tree": "84c200e8e625d4d99b1649525fcdf81a73197078", "version-date": "2022-08-18", From 96b58071f3fc413ce088545a7f09fe7242a124dd Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 26 Sep 2022 10:41:44 +0200 Subject: [PATCH 38/41] v db --- versions/baseline.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 35a2b89114b030..ff2a3478a275fc 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7609,7 +7609,7 @@ "port-version": 1 }, "vcpkg-cmake-get-vars": { - "baseline": "2022-05-10", + "baseline": "2022-09-04", "port-version": 1 }, "vcpkg-get-python-packages": { From 7292d87e1f2c6a51171661378ac11159270d88ba Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 9 Oct 2022 11:13:49 +0200 Subject: [PATCH 39/41] v db --- versions/baseline.json | 2 +- versions/v-/vcpkg-cmake.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index e5fd5fb5922912..f2cb3b7b07299a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7637,7 +7637,7 @@ "port-version": 0 }, "vcpkg-cmake": { - "baseline": "2022-09-13", + "baseline": "2022-09-26", "port-version": 0 }, "vcpkg-cmake-config": { diff --git a/versions/v-/vcpkg-cmake.json b/versions/v-/vcpkg-cmake.json index f1bdb7e13448b6..f2423315ef399a 100644 --- a/versions/v-/vcpkg-cmake.json +++ b/versions/v-/vcpkg-cmake.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8827e6f24005c4f60cb0a579a3a0115ef3d7b6c3", + "version-date": "2022-09-26", + "port-version": 0 + }, { "git-tree": "72b6903c393330b7c9042096d84cbd733619644e", "version-date": "2022-09-13", From 6ae069ec5084dea63207e50b6a14680b20ebaf77 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 9 Oct 2022 11:15:17 +0200 Subject: [PATCH 40/41] remove port-version 1 --- ports/vcpkg-cmake-get-vars/vcpkg.json | 1 - versions/v-/vcpkg-cmake-get-vars.json | 5 ----- 2 files changed, 6 deletions(-) diff --git a/ports/vcpkg-cmake-get-vars/vcpkg.json b/ports/vcpkg-cmake-get-vars/vcpkg.json index 22628513551e28..9638bae51b31dc 100644 --- a/ports/vcpkg-cmake-get-vars/vcpkg.json +++ b/ports/vcpkg-cmake-get-vars/vcpkg.json @@ -1,7 +1,6 @@ { "name": "vcpkg-cmake-get-vars", "version-date": "2022-09-04", - "port-version": 1, "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", "dependencies": [ diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index b092aeb7323d94..362bbdce76ccf4 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,10 +1,5 @@ { "versions": [ - { - "git-tree": "e92563e673e150d876de93f0245dffa0505dc895", - "version-date": "2022-09-04", - "port-version": 1 - }, { "git-tree": "b50ca3d20736304215fbd82c102d4552457255bb", "version-date": "2022-05-10", From 29d5b6d22513dede809d52e6e4eacd69b2204c39 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sun, 9 Oct 2022 11:15:44 +0200 Subject: [PATCH 41/41] v db --- versions/baseline.json | 4 ++-- versions/v-/vcpkg-cmake-get-vars.json | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/versions/baseline.json b/versions/baseline.json index f2cb3b7b07299a..3d395cd1f651b1 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7645,8 +7645,8 @@ "port-version": 1 }, "vcpkg-cmake-get-vars": { - "baseline": "2022-05-10", - "port-version": 1 + "baseline": "2022-09-04", + "port-version": 0 }, "vcpkg-get-python-packages": { "baseline": "2022-06-30", diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json index 362bbdce76ccf4..17841423d333ab 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "898079c6021ced406d7c75f852e67a5e8861db9b", + "version-date": "2022-09-04", + "port-version": 0 + }, { "git-tree": "b50ca3d20736304215fbd82c102d4552457255bb", "version-date": "2022-05-10",