From 2d2a89d0d5ae50143063fdd2c38582f172c70e3b Mon Sep 17 00:00:00 2001 From: Vitalii Koshura Date: Thu, 27 Apr 2023 18:44:16 +0200 Subject: [PATCH] [CI] Simplify vcpkg custom triplets Signed-off-by: Vitalii Koshura --- .../vcpkg_ports/triplets/ci/arm-android.cmake | 24 +++++++--- .../triplets/ci/arm-neon-android.cmake | 24 +++++++--- .../triplets/ci/arm64-android.cmake | 24 +++++++--- .../vcpkg_ports/triplets/ci/arm64-osx.cmake | 25 ++++++++--- .../triplets/ci/arm64-windows-static.cmake | 24 +++++++--- .../triplets/ci/armv6-android.cmake | 24 +++++++--- .../triplets/ci/snap-linux-amd64.cmake | 24 ++++++++-- .../triplets/ci/wasm32-emscripten.cmake | 44 +++++++++---------- .../vcpkg_ports/triplets/ci/x64-android.cmake | 24 +++++++--- .../vcpkg_ports/triplets/ci/x64-linux.cmake | 24 ++++++++-- .../triplets/ci/x64-mingw-static.cmake | 25 ++++++++--- .../vcpkg_ports/triplets/ci/x64-osx.cmake | 25 ++++++++--- .../triplets/ci/x64-windows-static.cmake | 24 +++++++--- .../vcpkg_ports/triplets/ci/x86-android.cmake | 24 +++++++--- .../triplets/default/arm-android.cmake | 24 ++++++++-- .../triplets/default/arm-neon-android.cmake | 24 ++++++++-- .../triplets/default/arm64-android.cmake | 24 ++++++++-- .../default/arm64-windows-static.cmake | 23 ++++++++-- .../triplets/default/armv6-android.cmake | 24 ++++++++-- .../triplets/default/x64-android.cmake | 24 ++++++++-- .../triplets/default/x64-windows-static.cmake | 23 ++++++++-- .../triplets/default/x86-android.cmake | 24 ++++++++-- 3rdParty/vcpkg_ports/vcpkg_root_find.cmake | 35 +++++++++++++++ 23 files changed, 467 insertions(+), 117 deletions(-) create mode 100644 3rdParty/vcpkg_ports/vcpkg_root_find.cmake diff --git a/3rdParty/vcpkg_ports/triplets/ci/arm-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/arm-android.cmake index fda00dd0dd..43dcbe690c 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/arm-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/arm-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/arm-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/ci/arm-neon-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/arm-neon-android.cmake index fda00dd0dd..5230a52e16 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/arm-neon-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/arm-neon-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/arm-neon-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/ci/arm64-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/arm64-android.cmake index a878918067..04607660e6 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/arm64-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/arm64-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/arm64-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-21) diff --git a/3rdParty/vcpkg_ports/triplets/ci/arm64-osx.cmake b/3rdParty/vcpkg_ports/triplets/ci/arm64-osx.cmake index a8edd20933..4599f1af2d 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/arm64-osx.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/arm64-osx.cmake @@ -1,6 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/arm64-osx.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Darwin) -set(VCPKG_OSX_ARCHITECTURES arm64) diff --git a/3rdParty/vcpkg_ports/triplets/ci/arm64-windows-static.cmake b/3rdParty/vcpkg_ports/triplets/ci/arm64-windows-static.cmake index 14cbc7306c..d39c099f63 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/arm64-windows-static.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/arm64-windows-static.cmake @@ -1,6 +1,20 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CXX_FLAGS /Qspectre) -set(VCPKG_C_FLAGS /Qspectre) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/arm64-windows-static.cmake) + set(VCPKG_BUILD_TYPE release) diff --git a/3rdParty/vcpkg_ports/triplets/ci/armv6-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/armv6-android.cmake index fda00dd0dd..2de35acb4d 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/armv6-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/armv6-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/armv6-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/ci/snap-linux-amd64.cmake b/3rdParty/vcpkg_ports/triplets/ci/snap-linux-amd64.cmake index bcf748a9cc..6325989f0a 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/snap-linux-amd64.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/snap-linux-amd64.cmake @@ -1,5 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/x64-linux.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/3rdParty/vcpkg_ports/triplets/ci/wasm32-emscripten.cmake b/3rdParty/vcpkg_ports/triplets/ci/wasm32-emscripten.cmake index 0a6e4444a7..5b3e6f5bbb 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/wasm32-emscripten.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/wasm32-emscripten.cmake @@ -1,25 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/wasm32-emscripten.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_ENV_PASSTHROUGH_UNTRACKED EMSCRIPTEN_ROOT EMSDK PATH) - -if(NOT DEFINED ENV{EMSCRIPTEN_ROOT}) - find_path(EMSCRIPTEN_ROOT "emcc") -else() - set(EMSCRIPTEN_ROOT "$ENV{EMSCRIPTEN_ROOT}") -endif() - -if(NOT EMSCRIPTEN_ROOT) - if(NOT DEFINED ENV{EMSDK}) - message(FATAL_ERROR "The emcc compiler not found in PATH") - endif() - set(EMSCRIPTEN_ROOT "$ENV{EMSDK}/upstream/emscripten") -endif() - -if(NOT EXISTS "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") - message(FATAL_ERROR "Emscripten.cmake toolchain file not found") -endif() - -set(VCPKG_TARGET_ARCHITECTURE wasm32) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Emscripten) -set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") diff --git a/3rdParty/vcpkg_ports/triplets/ci/x64-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/x64-android.cmake index 056f33658c..f83675f2a6 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x64-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x64-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/x64-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-21) diff --git a/3rdParty/vcpkg_ports/triplets/ci/x64-linux.cmake b/3rdParty/vcpkg_ports/triplets/ci/x64-linux.cmake index bcf748a9cc..6325989f0a 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x64-linux.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x64-linux.cmake @@ -1,5 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/x64-linux.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/3rdParty/vcpkg_ports/triplets/ci/x64-mingw-static.cmake b/3rdParty/vcpkg_ports/triplets/ci/x64-mingw-static.cmake index 9637184964..5f672316ae 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x64-mingw-static.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x64-mingw-static.cmake @@ -1,6 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/x64-mingw-static.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_ENV_PASSTHROUGH PATH) -set(VCPKG_CMAKE_SYSTEM_NAME MinGW) diff --git a/3rdParty/vcpkg_ports/triplets/ci/x64-osx.cmake b/3rdParty/vcpkg_ports/triplets/ci/x64-osx.cmake index 5145280382..fe6419e5e1 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x64-osx.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x64-osx.cmake @@ -1,6 +1,21 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/x64-osx.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Darwin) -set(VCPKG_OSX_ARCHITECTURES x86_64) diff --git a/3rdParty/vcpkg_ports/triplets/ci/x64-windows-static.cmake b/3rdParty/vcpkg_ports/triplets/ci/x64-windows-static.cmake index 82170dd034..db2e34d9b0 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x64-windows-static.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x64-windows-static.cmake @@ -1,6 +1,20 @@ -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CXX_FLAGS /Qspectre) -set(VCPKG_C_FLAGS /Qspectre) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/x64-windows-static.cmake) + set(VCPKG_BUILD_TYPE release) diff --git a/3rdParty/vcpkg_ports/triplets/ci/x86-android.cmake b/3rdParty/vcpkg_ports/triplets/ci/x86-android.cmake index dca933cf3f..1131304e84 100644 --- a/3rdParty/vcpkg_ports/triplets/ci/x86-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/ci/x86-android.cmake @@ -1,6 +1,20 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../default/x86-android.cmake) + set(VCPKG_BUILD_TYPE release) -set(VCPKG_TARGET_ARCHITECTURE x86) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/default/arm-android.cmake b/3rdParty/vcpkg_ports/triplets/default/arm-android.cmake index 209894922a..ed41e62ac9 100644 --- a/3rdParty/vcpkg_ports/triplets/default/arm-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/arm-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/arm-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/default/arm-neon-android.cmake b/3rdParty/vcpkg_ports/triplets/default/arm-neon-android.cmake index 209894922a..73b17fdf64 100644 --- a/3rdParty/vcpkg_ports/triplets/default/arm-neon-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/arm-neon-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/arm-neon-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/default/arm64-android.cmake b/3rdParty/vcpkg_ports/triplets/default/arm64-android.cmake index 70d4bad798..bedabdc25d 100644 --- a/3rdParty/vcpkg_ports/triplets/default/arm64-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/arm64-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/arm64-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-21) diff --git a/3rdParty/vcpkg_ports/triplets/default/arm64-windows-static.cmake b/3rdParty/vcpkg_ports/triplets/default/arm64-windows-static.cmake index eb8aef0c23..acb0e8f8e3 100644 --- a/3rdParty/vcpkg_ports/triplets/default/arm64-windows-static.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/arm64-windows-static.cmake @@ -1,5 +1,22 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/arm64-windows-static.cmake) + set(VCPKG_CXX_FLAGS /Qspectre) set(VCPKG_C_FLAGS /Qspectre) diff --git a/3rdParty/vcpkg_ports/triplets/default/armv6-android.cmake b/3rdParty/vcpkg_ports/triplets/default/armv6-android.cmake index 209894922a..4191224dc5 100644 --- a/3rdParty/vcpkg_ports/triplets/default/armv6-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/armv6-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/armv6-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/triplets/default/x64-android.cmake b/3rdParty/vcpkg_ports/triplets/default/x64-android.cmake index 3bdfd5e145..bba5cc5011 100644 --- a/3rdParty/vcpkg_ports/triplets/default/x64-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/x64-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/x64-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-21) diff --git a/3rdParty/vcpkg_ports/triplets/default/x64-windows-static.cmake b/3rdParty/vcpkg_ports/triplets/default/x64-windows-static.cmake index 08aa2e9441..33c63c0ccc 100644 --- a/3rdParty/vcpkg_ports/triplets/default/x64-windows-static.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/x64-windows-static.cmake @@ -1,5 +1,22 @@ -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/x64-windows-static.cmake) + set(VCPKG_CXX_FLAGS /Qspectre) set(VCPKG_C_FLAGS /Qspectre) diff --git a/3rdParty/vcpkg_ports/triplets/default/x86-android.cmake b/3rdParty/vcpkg_ports/triplets/default/x86-android.cmake index 527ca3ff8c..bb4f42f9d7 100644 --- a/3rdParty/vcpkg_ports/triplets/default/x86-android.cmake +++ b/3rdParty/vcpkg_ports/triplets/default/x86-android.cmake @@ -1,5 +1,21 @@ -set(VCPKG_TARGET_ARCHITECTURE x86) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +include(${CMAKE_CURRENT_LIST_DIR}/../../vcpkg_root_find.cmake) +include(${VCPKG_ROOT}/triplets/community/x86-android.cmake) + set(VCPKG_CMAKE_SYSTEM_VERSION android-16) diff --git a/3rdParty/vcpkg_ports/vcpkg_root_find.cmake b/3rdParty/vcpkg_ports/vcpkg_root_find.cmake new file mode 100644 index 0000000000..6beb2fcba1 --- /dev/null +++ b/3rdParty/vcpkg_ports/vcpkg_root_find.cmake @@ -0,0 +1,35 @@ +# This file is part of BOINC. +# https://boinc.berkeley.edu +# Copyright (C) 2023 University of California +# +# BOINC is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# BOINC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with BOINC. If not, see . + +if(DEFINED VCPKG_ROOT) + message(STATUS "vcpkg root directory already defined") +elseif(DEFINED VCPKG_ROOT_DIR) + set(VCPKG_ROOT ${VCPKG_ROOT_DIR} CACHE PATH "vcpkg root") +elseif(CMAKE_TOOLCHAIN_FILE) + get_filename_component(VCPKG_ROOT ${CMAKE_TOOLCHAIN_FILE} DIRECTORY) + get_filename_component(VCPKG_ROOT ${VCPKG_ROOT} DIRECTORY) +elseif(DEFINED ENV{VCPKG_ROOT}) + set(VCPKG_ROOT $ENV{VCPKG_ROOT} CACHE PATH "vcpkg root") +elseif(DEFINED ENV{USERPROFILE}) + set(VCPKG_ROOT "$ENV{USERPROFILE}/vcpkg" CACHE PATH "vcpkg root") +elseif(DEFINED ENV{HOME}) + set(VCPKG_ROOT "$ENV{HOME}/vcpkg" CACHE PATH "vcpkg root") +else() + message(FATAL_ERROR "Could not find vcpkg root directory") +endif() + +message(STATUS "vcpkg root directory: ${VCPKG_ROOT}")