mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-12-03 19:39:20 +08:00
VCPKG port fixes
* Do not patch vcpkg - replace the cmake script fully * Actualize libvpx port [skip ci] Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
This commit is contained in:
parent
882b39b067
commit
bfe282c2db
4
.github/workflows/flutter-build.yml
vendored
4
.github/workflows/flutter-build.yml
vendored
@ -1225,9 +1225,7 @@ jobs:
|
||||
|
||||
- name: Install vcpkg dependencies
|
||||
run: |
|
||||
pushd $VCPKG_ROOT
|
||||
git apply --ignore-space-change "$OLDPWD/res/vcpkg/0001-Extend-crosscompiling-efforts-to-other-architectures.patch"
|
||||
popd
|
||||
cp $PWD/res/vcpkg/linux.cmake $VCPKG_ROOT/scripts/toolchains/linux.cmake
|
||||
$VCPKG_ROOT/vcpkg install --triplet arm-linux --x-install-root="$VCPKG_ROOT/installed"
|
||||
shell: bash
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 4f03e584befa8ccee59eb6e8556a11d968f1785f Mon Sep 17 00:00:00 2001
|
||||
From: Vasyl Gello <vasek.gello@gmail.com>
|
||||
Date: Mon, 13 Nov 2023 05:30:49 +0000
|
||||
Subject: [PATCH] Extend crosscompiling efforts to other architectures
|
||||
|
||||
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
|
||||
---
|
||||
scripts/toolchains/linux.cmake | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake
|
||||
index f19940b..f22c710 100644
|
||||
--- a/scripts/toolchains/linux.cmake
|
||||
+++ b/scripts/toolchains/linux.cmake
|
||||
@@ -13,7 +13,7 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
string(APPEND VCPKG_LINKER_FLAGS " -m32")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
set(CMAKE_SYSTEM_PROCESSOR armv7l CACHE STRING "")
|
||||
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
|
||||
endif()
|
||||
@@ -25,12 +25,12 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "arm-linux-gnueabihf-as")
|
||||
- endif()
|
||||
- message(STATUS "Cross compiling arm on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
+ endif()
|
||||
+ message(STATUS "Cross compiling arm on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "")
|
||||
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
|
||||
endif()
|
||||
@@ -42,8 +42,8 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "aarch64-linux-gnu-as")
|
||||
- endif()
|
||||
- message(STATUS "Cross compiling arm64 on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
+ endif()
|
||||
+ message(STATUS "Cross compiling arm64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
@ -26,10 +26,11 @@ else()
|
||||
set(ENV{PATH} "${MSYS_ROOT}/usr/bin:$ENV{PATH}:${PERL_EXE_PATH}")
|
||||
endif()
|
||||
|
||||
vcpkg_find_acquire_program(NASM)
|
||||
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
|
||||
vcpkg_add_to_path(${NASM_EXE_PATH})
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
vcpkg_find_acquire_program(NASM)
|
||||
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
|
||||
vcpkg_add_to_path(${NASM_EXE_PATH})
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp")
|
||||
|
||||
@ -130,12 +131,12 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
endif()
|
||||
|
||||
else()
|
||||
yasm_tool_helper(APPEND_TO_PATH)
|
||||
|
||||
set(OPTIONS "--disable-examples --disable-tools --disable-docs --disable-unit-tests --enable-pic")
|
||||
|
||||
set(OPTIONS_DEBUG "--enable-debug-libs --enable-debug --prefix=${CURRENT_PACKAGES_DIR}/debug")
|
||||
set(OPTIONS_RELEASE "--prefix=${CURRENT_PACKAGES_DIR}")
|
||||
set(AS_NASM "--as=nasm")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
|
||||
@ -170,6 +171,7 @@ else()
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$")
|
||||
message(STATUS "Cross-building for ${TARGET_TRIPLET} with ${CMAKE_MATCH_1}")
|
||||
set(ENV{CROSS} ${CMAKE_MATCH_1})
|
||||
unset(AS_NASM)
|
||||
else()
|
||||
set(ENV{CC} ${VCPKG_DETECTED_CMAKE_C_COMPILER})
|
||||
set(ENV{CXX} ${VCPKG_DETECTED_CMAKE_CXX_COMPILER})
|
||||
@ -191,16 +193,12 @@ else()
|
||||
set(LIBVPX_TARGET "generic-gnu")
|
||||
# Settings
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
|
||||
set(ANDROID_TARGET_TRIPLET i686-linux-android)
|
||||
set(OPTIONS "${OPTIONS} --disable-sse4_1 --disable-avx --disable-avx2 --disable-avx512")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
|
||||
set(ANDROID_TARGET_TRIPLET x86_64-linux-android)
|
||||
set(OPTIONS "${OPTIONS} --disable-avx --disable-avx2 --disable-avx512")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
|
||||
set(ANDROID_TARGET_TRIPLET armv7a-linux-androideabi)
|
||||
set(OPTIONS "${OPTIONS} --enable-thumb --disable-neon")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
|
||||
set(ANDROID_TARGET_TRIPLET aarch64-linux-android)
|
||||
set(OPTIONS "${OPTIONS} --enable-thumb")
|
||||
endif()
|
||||
# Set environment variables for configure
|
||||
@ -208,6 +206,8 @@ else()
|
||||
set(ENV{LDFLAGS} "${LDFLAGS} --target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET}")
|
||||
# Set clang target
|
||||
set(OPTIONS "${OPTIONS} --extra-cflags=--target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET} --extra-cxxflags=--target=${VCPKG_DETECTED_CMAKE_CXX_COMPILER_TARGET}")
|
||||
# Unset nasm and let AS do its job
|
||||
unset(AS_NASM)
|
||||
elseif(VCPKG_TARGET_IS_OSX)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(LIBVPX_TARGET "arm64-darwin20-gcc")
|
||||
@ -242,6 +242,7 @@ else()
|
||||
${OPTIONS}
|
||||
${OPTIONS_RELEASE}
|
||||
${MAC_OSX_MIN_VERSION_CFLAGS}
|
||||
${AS_NASM}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
|
||||
LOGNAME configure-${TARGET_TRIPLET}-rel)
|
||||
|
||||
@ -275,6 +276,7 @@ else()
|
||||
${OPTIONS}
|
||||
${OPTIONS_DEBUG}
|
||||
${MAC_OSX_MIN_VERSION_CFLAGS}
|
||||
${AS_NASM}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
|
||||
LOGNAME configure-${TARGET_TRIPLET}-dbg)
|
||||
|
||||
|
@ -13,14 +13,6 @@
|
||||
"name": "vcpkg-msbuild",
|
||||
"host": true,
|
||||
"platform": "windows"
|
||||
},
|
||||
{
|
||||
"name": "yasm",
|
||||
"host": true,
|
||||
"features": [
|
||||
"tools"
|
||||
],
|
||||
"platform": "!(windows & !mingw)"
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
|
74
res/vcpkg/linux.cmake
Normal file
74
res/vcpkg/linux.cmake
Normal file
@ -0,0 +1,74 @@
|
||||
if(NOT _VCPKG_LINUX_TOOLCHAIN)
|
||||
set(_VCPKG_LINUX_TOOLCHAIN 1)
|
||||
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
|
||||
endif()
|
||||
set(CMAKE_SYSTEM_NAME Linux CACHE STRING "")
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "")
|
||||
string(APPEND VCPKG_C_FLAGS " -m32")
|
||||
string(APPEND VCPKG_CXX_FLAGS " -m32")
|
||||
string(APPEND VCPKG_LINKER_FLAGS " -m32")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
set(CMAKE_SYSTEM_PROCESSOR armv7l CACHE STRING "")
|
||||
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_C_COMPILER)
|
||||
set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM_COMPILER)
|
||||
set(CMAKE_ASM_COMPILER "arm-linux-gnueabihf-gcc")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "arm-linux-gnueabihf-as")
|
||||
endif()
|
||||
message(STATUS "Cross compiling arm on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "")
|
||||
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_C_COMPILER)
|
||||
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM_COMPILER)
|
||||
set(CMAKE_ASM_COMPILER "aarch64-linux-gnu-gcc")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "aarch64-linux-gnu-as")
|
||||
endif()
|
||||
message(STATUS "Cross compiling arm64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
|
||||
if(NOT _CMAKE_IN_TRY_COMPILE)
|
||||
string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ")
|
||||
string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ")
|
||||
string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ")
|
||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ")
|
||||
string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ")
|
||||
string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ")
|
||||
|
||||
string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
|
||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
|
||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static")
|
||||
string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT "-static ")
|
||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ")
|
||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ")
|
||||
endif()
|
||||
string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ")
|
||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ")
|
||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ")
|
||||
string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ")
|
||||
string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ")
|
||||
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ")
|
||||
endif()
|
||||
endif()
|
Loading…
Reference in New Issue
Block a user