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..545b557b7ca475 100644 --- a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -33,6 +33,7 @@ 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) + 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) @@ -108,13 +109,16 @@ if(APPLE) endif() 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/ports/vcpkg-cmake-get-vars/vcpkg.json b/ports/vcpkg-cmake-get-vars/vcpkg.json index 33b54788223854..983619cdb4cd57 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-05-10", - "port-version": 1, + "version-date": "2022-08-28", "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", "dependencies": [ diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 5ff0ab1ae3d650..5cfda904b2b674 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -100,6 +100,7 @@ macro(z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags flag_suffix) # just ignore them. string(REGEX REPLACE "((-|/)RTC[^ ]+)" "-Xcompiler \\1" CFLAGS_${flag_suffix} "${CFLAGS_${flag_suffix}}") string(REGEX REPLACE "((-|/)RTC[^ ]+)" "-Xcompiler \\1" CXXFLAGS_${flag_suffix} "${CXXFLAGS_${flag_suffix}}") + string(STRIP "${CPPFLAGS_${flag_suffix}}" CPPFLAGS_${flag_suffix}) string(STRIP "${CFLAGS_${flag_suffix}}" CFLAGS_${flag_suffix}) string(STRIP "${CXXFLAGS_${flag_suffix}}" CXXFLAGS_${flag_suffix}) @@ -115,6 +116,7 @@ macro(z_vcpkg_append_to_configure_environment inoutstring var defaultval) else() string(APPEND ${inoutstring} " ${var}='${defaultval}'") endif() + debug_message(" ${var}='${defaultval}'") endmacro() macro(z_convert_to_list input output) @@ -395,6 +397,7 @@ function(vcpkg_configure_make) if(VCPKG_DETECTED_CMAKE_${cmakevar}) set(ENV{${envvar}} "${prog}") endif() + debug_message("${envvar}=${prog}") endfunction() z_vcpkg_make_set_env(CC C_COMPILER) if(NOT VCPKG_CROSSCOMPILING) @@ -462,7 +465,7 @@ function(vcpkg_configure_make) debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") endif() endif() - + # Cleanup previous build dirs file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" @@ -698,6 +701,7 @@ function(vcpkg_configure_make) string(PREPEND LDFLAGS_${var_suffix} "-Xlinker -Xlinker -Xlinker ") endif() endif() + debug_message("LDFLAGS_${var_suffix}: ${LDFLAGS_${var_suffix}}") endmacro() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT arg_NO_DEBUG) diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index ec6ea55390739e..e7f7f02991e7f0 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -30,6 +30,7 @@ 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) @@ -112,6 +113,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) diff --git a/scripts/toolchains/android.cmake b/scripts/toolchains/android.cmake index fb4e66cd6b04ac..e1bd48af646d9d 100644 --- a/scripts/toolchains/android.cmake +++ b/scripts/toolchains/android.cmake @@ -14,12 +14,8 @@ if (VCPKG_TARGET_TRIPLET MATCHES "arm64-android") elseif(VCPKG_TARGET_TRIPLET MATCHES "armv6-android") set(ANDROID_ABI armeabi CACHE STRING "") set(ANDROID_ARM_MODE arm CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "arm-neon-android") - set(ANDROID_ABI armeabi-v7a CACHE STRING "") - set(ANDROID_ARM_NEON ON CACHE BOOL "") elseif(VCPKG_TARGET_TRIPLET MATCHES "arm-android") set(ANDROID_ABI armeabi-v7a CACHE STRING "") - set(ANDROID_ARM_NEON OFF CACHE BOOL "") elseif(VCPKG_TARGET_TRIPLET MATCHES "x64-android") set(ANDROID_ABI x86_64 CACHE STRING "") elseif(VCPKG_TARGET_TRIPLET MATCHES "x86-android") diff --git a/triplets/community/arm-android.cmake b/triplets/community/arm-android.cmake index 29ba5655ae3154..feb8f186b799aa 100644 --- a/triplets/community/arm-android.cmake +++ b/triplets/community/arm-android.cmake @@ -2,3 +2,4 @@ set(VCPKG_TARGET_ARCHITECTURE arm) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") diff --git a/triplets/community/arm-neon-android.cmake b/triplets/community/arm-neon-android.cmake deleted file mode 100644 index 29ba5655ae3154..00000000000000 --- a/triplets/community/arm-neon-android.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) diff --git a/triplets/community/arm64-android.cmake b/triplets/community/arm64-android.cmake index 20b255d39267ad..46ad5f166aeb48 100644 --- a/triplets/community/arm64-android.cmake +++ b/triplets/community/arm64-android.cmake @@ -2,3 +2,4 @@ set(VCPKG_TARGET_ARCHITECTURE arm64) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") diff --git a/triplets/community/x64-android.cmake b/triplets/community/x64-android.cmake index 6342ce5361a1af..7ef27c2b80873b 100644 --- a/triplets/community/x64-android.cmake +++ b/triplets/community/x64-android.cmake @@ -2,3 +2,4 @@ set(VCPKG_TARGET_ARCHITECTURE x64) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-linux-android") diff --git a/triplets/community/x86-android.cmake b/triplets/community/x86-android.cmake index ca0fbaeffb0e07..f909598cb3fc95 100644 --- a/triplets/community/x86-android.cmake +++ b/triplets/community/x86-android.cmake @@ -2,3 +2,4 @@ set(VCPKG_TARGET_ARCHITECTURE x86) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=i686-linux-android") diff --git a/versions/baseline.json b/versions/baseline.json index 85d6b838a6d46d..ca42d8296a3661 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7513,8 +7513,8 @@ "port-version": 1 }, "vcpkg-cmake-get-vars": { - "baseline": "2022-05-10", - "port-version": 1 + "baseline": "2022-08-28", + "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..5e08f86f59acb6 100644 --- a/versions/v-/vcpkg-cmake-get-vars.json +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "712c7e6a286f51c785e017bffe433ac75fc15b45", + "version-date": "2022-08-28", + "port-version": 0 + }, { "git-tree": "b50ca3d20736304215fbd82c102d4552457255bb", "version-date": "2022-05-10",