mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-16 05:39:02 +08:00
bcf3d00d21
~~arm64-windows: boost-context builds are blocked by a cmake bug (see https://gitlab.kitware.com/cmake/cmake/-/issues/24317)~~ closes #32274 closes https://github.com/Neumann-A/my-vcpkg-triplets/issues/5 Questions: - [x] ~~Move cmake files to `share/cmake/<name>` ?~~ Not doing it because it is just using `vcpkg_cmake_config_fixup()` - [x] Fix weak dependencies (uwp|emscripten|android|arm)? - [x] Fix library names on !x64 (currently hardcoded to x64 or x86; failure in aricpp since it forces FindBoost module mode.) - [x] ~~Fix arm64-windows boost-context builds -> requires CMake (3.19.2?) update due to bug how the assembler is invoked.~~ (-> CI baseline for now) TODO: - [x] adjust generate ports script - [x] #37457 --------- Co-authored-by: Cheney-Wang <850426846@qq.com>
39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
diff --git a/include/BoostInstall.cmake b/include/BoostInstall.cmake
|
|
index 3a00c16..069dde0 100644
|
|
--- a/include/BoostInstall.cmake
|
|
+++ b/include/BoostInstall.cmake
|
|
@@ -152,7 +152,31 @@ function(__boost_install_set_output_name LIB TYPE VERSION)
|
|
# Arch and model
|
|
math(EXPR bits ${CMAKE_SIZEOF_VOID_P}*8)
|
|
|
|
- string(APPEND name_debug "-x${bits}") # x86 only for now
|
|
- string(APPEND name_release "-x${bits}")
|
|
+ set(arch "x")
|
|
+
|
|
+ if(MSVC)
|
|
+
|
|
+ if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "^ARM")
|
|
+ set(arch "a")
|
|
+ endif()
|
|
+
|
|
+ else()
|
|
+
|
|
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]"
|
|
+ OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch")
|
|
+ set(arch "a")
|
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
|
+ set(arch "m")
|
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i(3|6)86")
|
|
+ set(arch "x")
|
|
+ else()
|
|
+ string(SUBSTRING "${CMAKE_SYSTEM_PROCESSOR}" 0 1 arch)
|
|
+ string(TOLOWER "${arch}" arch)
|
|
+ endif()
|
|
+
|
|
+ endif()
|
|
+
|
|
+ string(APPEND name_debug "-${arch}${bits}")
|
|
+ string(APPEND name_release "-${arch}${bits}")
|
|
|
|
endif()
|