Cache dependencies through CPM
This commit is contained in:
@@ -15,6 +15,10 @@ inputs:
|
||||
description: ABIs to Build
|
||||
required: false
|
||||
default: 'armeabi-v7a;arm64-v8a'
|
||||
cpm-cache:
|
||||
description: CPM Cache Path
|
||||
required: false
|
||||
default: ${{ github.workspace }}/cpm_modules
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
@@ -59,6 +63,11 @@ runs:
|
||||
verbose: 1
|
||||
evict-old-files: 'job'
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ inputs.cpm-cache }}
|
||||
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
|
||||
|
||||
- name: Install Qt for ${{ runner.os }}
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
|
||||
@@ -41,6 +41,7 @@ jobs:
|
||||
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_ABIS: ${{ matrix.BuildType == 'Release' && 'armeabi-v7a;arm64-v8a' || 'arm64-v8a' }}
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -67,6 +68,7 @@ jobs:
|
||||
arch: linux_gcc_64
|
||||
version: ${{ env.QT_VERSION }}
|
||||
abis: ${{ env.QT_ANDROID_ABIS }}
|
||||
cpm-cache: ${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- run: mkdir ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -80,6 +82,7 @@ jobs:
|
||||
-DQT_ANDROID_SIGN_APK=${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && 'ON' || 'OFF' }}
|
||||
-DQT_DEBUG_FIND_PACKAGE=ON
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -28,6 +28,7 @@ jobs:
|
||||
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_ABIS: 'arm64-v8a'
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -53,6 +54,7 @@ jobs:
|
||||
arch: clang_64
|
||||
version: ${{ env.QT_VERSION }}
|
||||
abis: ${{ env.QT_ANDROID_ABIS }}
|
||||
cpm-cache: ${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- run: mkdir ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -66,6 +68,7 @@ jobs:
|
||||
-DQT_ANDROID_SIGN_APK=${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && 'ON' || 'OFF' }}
|
||||
-DQT_DEBUG_FIND_PACKAGE=ON
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -41,6 +41,7 @@ jobs:
|
||||
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
|
||||
QT_ANDROID_ABIS: 'arm64-v8a'
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -63,6 +64,7 @@ jobs:
|
||||
arch: win64_msvc2022_64
|
||||
version: ${{ env.QT_VERSION }}
|
||||
abis: ${{ env.QT_ANDROID_ABIS }}
|
||||
cpm-cache: ${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Set up Visual Studio shell
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
@@ -81,6 +83,7 @@ jobs:
|
||||
-DQT_ANDROID_SIGN_APK=OFF
|
||||
-DQT_DEBUG_FIND_PACKAGE=ON
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -24,6 +24,7 @@ jobs:
|
||||
PACKAGE: QGroundControl
|
||||
QT_VERSION: 6.8.1
|
||||
GST_VERSION: 1.22.12
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -56,6 +57,11 @@ jobs:
|
||||
verbose: 1
|
||||
evict-old-files: 'job'
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CPM_SOURCE_CACHE }}
|
||||
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
|
||||
|
||||
- name: Install Qt for MacOS
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
@@ -86,6 +92,7 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.BuildType }}
|
||||
-DQT_HOST_PATH="${{ env.QT_ROOT_DIR }}/../macos"
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -36,6 +36,7 @@ jobs:
|
||||
PACKAGE: QGroundControl-x86_64
|
||||
QT_VERSION: 6.8.1
|
||||
GST_VERSION: 1.22.12
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -84,6 +85,11 @@ jobs:
|
||||
verbose: 1
|
||||
evict-old-files: 'job'
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CPM_SOURCE_CACHE }}
|
||||
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
|
||||
|
||||
- name: Install Qt for Linux (x64)
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
@@ -106,6 +112,7 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.BuildType }}
|
||||
-DQGC_BUILD_TESTING=${{ matrix.BuildType == 'Debug' && 'ON' || 'OFF' }}
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -35,6 +35,7 @@ jobs:
|
||||
PACKAGE: QGroundControl
|
||||
QT_VERSION: 6.8.1
|
||||
GST_VERSION: 1.22.12
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -77,6 +78,11 @@ jobs:
|
||||
verbose: 1
|
||||
evict-old-files: 'job'
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CPM_SOURCE_CACHE }}
|
||||
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
@@ -104,6 +110,7 @@ jobs:
|
||||
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
||||
-DMACOS_SIGNING_IDENTITY=${{ secrets.MACOS_SIGNING_IDENTITY }}
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}/shadow_build_dir
|
||||
|
||||
@@ -37,6 +37,7 @@ jobs:
|
||||
QT_VERSION: 6.8.1
|
||||
GST_VERSION: 1.22.12
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
@@ -73,6 +74,11 @@ jobs:
|
||||
variant: sccache
|
||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CPM_SOURCE_CACHE }}
|
||||
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
|
||||
|
||||
- name: Install Qt for Windows (x64)
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
@@ -113,6 +119,7 @@ jobs:
|
||||
-DQT_HOST_PATH="${{ env.QT_ROOT_DIR }}/../msvc2022_64"
|
||||
-DQT_DEBUG_FIND_PACKAGE=ON
|
||||
-DQGC_STABLE_BUILD=${{ github.ref_type == 'tag' || contains(github.ref, 'Stable') && 'ON' || 'OFF' }}
|
||||
-DCPM_SOURCE_CACHE=${{ env.CPM_SOURCE_CACHE }}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ runner.temp }}\shadow_build_dir
|
||||
|
||||
@@ -92,3 +92,4 @@ docs/.vitepress/cache/
|
||||
docs/.vitepress/dist/
|
||||
|
||||
CMakeUserPresets.json
|
||||
cpm_modules
|
||||
|
||||
@@ -54,3 +54,5 @@ option(QGC_DISABLE_PX4_PLUGIN_FACTORY "Disable PX4 Plugin Factory" OFF)
|
||||
# If you need to make an incompatible changes to stored settings, bump this version number
|
||||
# up by 1. This will caused store settings to be cleared on next boot.
|
||||
set(QGC_SETTINGS_VERSION "9" CACHE STRING "Settings Version")
|
||||
|
||||
set(CPM_SOURCE_CACHE ${CMAKE_BINARY_DIR}/cpm_modules CACHE PATH "Directory to download CPM dependencies")
|
||||
|
||||
@@ -80,4 +80,27 @@ export(TARGETS
|
||||
GenericCodeGen
|
||||
|
||||
APPEND FILE MapboxCoreTargets.cmake
|
||||
)
|
||||
)
|
||||
|
||||
# TODO: Build Vulkan Headers
|
||||
# include(CPM)
|
||||
# CPMAddPackage(
|
||||
# NAME Vulkan-Headers
|
||||
# GITHUB_REPOSITORY KhronosGroup/Vulkan-Headers
|
||||
# GIT_TAG v1.3.269
|
||||
# )
|
||||
|
||||
# # Vulkan-Headers defines a header target but not one for the module.
|
||||
# if(Vulkan-Headers_ADDED)
|
||||
# add_library(Vulkan-Module)
|
||||
# target_sources(Vulkan-Module
|
||||
# PUBLIC FILE_SET CXX_MODULES
|
||||
# BASE_DIRS "${Vulkan-Headers_SOURCE_DIR}/include"
|
||||
# FILES "${Vulkan-Headers_SOURCE_DIR}/include/vulkan/vulkan.cppm"
|
||||
# )
|
||||
# target_compile_definitions(Vulkan-Module PUBLIC
|
||||
# # Your options here, project-dependent:
|
||||
# # https://github.com/KhronosGroup/Vulkan-Hpp#configuration-options
|
||||
# )
|
||||
# target_link_libraries(Vulkan-Module PUBLIC Vulkan-Headers)
|
||||
# endif()
|
||||
|
||||
@@ -89,14 +89,11 @@ target_include_directories(AnalyzeView PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
message(STATUS "Building ULogParser")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME ulog_cpp
|
||||
GITHUB_REPOSITORY PX4/ulog_cpp
|
||||
GIT_TAG main
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
if(TARGET ulog_cpp::ulog_cpp)
|
||||
@@ -105,82 +102,46 @@ endif()
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
set(MINIMUM_EXIV2_VERSION 0.28)
|
||||
set(TARGET_EXIV2_VERSION 0.28.3)
|
||||
include(CPM)
|
||||
|
||||
set(MINIMUM_EXPAT_VERSION 2.2.6)
|
||||
set(TARGET_EXPAT_VERSION 2.6.4)
|
||||
# https://github.com/libexpat/libexpat/releases/download/R_2_6_4/expat-win32bin-2.6.4.zip
|
||||
|
||||
# if(QGC_DOWNLOAD_DEPENDENCIES)
|
||||
# set(EXIV2_URL)
|
||||
# if(MSVC)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${TARGET_EXIV2_VERSION}/exiv2-${TARGET_EXIV2_VERSION}-2019msvc64.zip")
|
||||
# elseif(LINUX)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${TARGET_EXIV2_VERSION}/exiv2-${TARGET_EXIV2_VERSION}-Linux64.tar.gz")
|
||||
# elseif(MACOS)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${TARGET_EXIV2_VERSION}/exiv2-${TARGET_EXIV2_VERSION}-Darwin.tar.gz")
|
||||
# endif()
|
||||
#
|
||||
# if(EXIV2_URL)
|
||||
# include(CPM)
|
||||
# CPMAddPackage(
|
||||
# NAME exiv2
|
||||
# URL ${EXIV2_URL}
|
||||
# )
|
||||
# exiv2_SOURCE_DIR
|
||||
# target_link_libraries(AnalyzeView PRIVATE Exiv2::exiv2lib)
|
||||
# return()
|
||||
# endif()
|
||||
CPMFindPackage(
|
||||
NAME expat
|
||||
VERSION 2.2.6
|
||||
GITHUB_REPOSITORY libexpat/libexpat
|
||||
GIT_TAG "R_2_6_4"
|
||||
SOURCE_SUBDIR expat
|
||||
OPTIONS
|
||||
"EXPAT_BUILD_DOCS OFF"
|
||||
"EXPAT_BUILD_EXAMPLES OFF"
|
||||
"EXPAT_BUILD_FUZZERS OFF"
|
||||
"EXPAT_BUILD_PKGCONFIG OFF"
|
||||
"EXPAT_BUILD_TESTS OFF"
|
||||
"EXPAT_BUILD_TOOLS OFF"
|
||||
"EXPAT_ENABLE_INSTALL OFF"
|
||||
"EXPAT_SHARED_LIBS OFF"
|
||||
)
|
||||
|
||||
# if(MSVC)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${EXIV2_VERSION}/exiv2-${EXIV2_VERSION}-2019msvc64.zip")
|
||||
# elseif(LINUX)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${EXIV2_VERSION}/exiv2-${EXIV2_VERSION}-Linux64.tar.gz")
|
||||
# elseif(MACOS)
|
||||
# set(EXIV2_URL "https://github.com/Exiv2/exiv2/releases/download/v${EXIV2_VERSION}/exiv2-${EXIV2_VERSION}-Darwin.tar.gz")
|
||||
# endif()
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
find_package(exiv2 ${MINIMUM_EXIV2_VERSION})
|
||||
if(TARGET Exiv2::exiv2lib) # AND exiv2_VERSION VERSION_GREATER_EQUAL ${MINIMUM_EXIV2_VERSION})
|
||||
target_link_libraries(AnalyzeView PRIVATE Exiv2::exiv2lib)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
find_package(EXPAT ${MINIMUM_EXPAT_VERSION})
|
||||
endif()
|
||||
|
||||
if(NOT TARGET EXPAT::EXPAT)
|
||||
message(STATUS "Building Expat")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME expat
|
||||
VERSION ${TARGET_EXPAT_VERSION}
|
||||
GITHUB_REPOSITORY libexpat/libexpat
|
||||
GIT_TAG "R_2_6_4"
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_SUBDIR expat
|
||||
OPTIONS
|
||||
"EXPAT_BUILD_DOCS OFF"
|
||||
"EXPAT_BUILD_EXAMPLES OFF"
|
||||
"EXPAT_BUILD_FUZZERS OFF"
|
||||
"EXPAT_BUILD_PKGCONFIG OFF"
|
||||
"EXPAT_BUILD_TESTS OFF"
|
||||
"EXPAT_BUILD_TOOLS OFF"
|
||||
"EXPAT_ENABLE_INSTALL OFF"
|
||||
"EXPAT_SHARED_LIBS OFF"
|
||||
)
|
||||
endif()
|
||||
|
||||
message(STATUS "Building Exiv2")
|
||||
|
||||
if(TARGET EXPAT::EXPAT)
|
||||
set(_EXIV2_ENABLE_XMP ON)
|
||||
else()
|
||||
set(_EXIV2_ENABLE_XMP OFF)
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME exiv2
|
||||
VERSION ${TARGET_EXIV2_VERSION}
|
||||
VERSION 0.28
|
||||
GITHUB_REPOSITORY Exiv2/exiv2
|
||||
GIT_TAG v0.28.3
|
||||
OPTIONS
|
||||
"EXIV2_ENABLE_XMP ${_EXIV2_ENABLE_XMP}"
|
||||
"EXIV2_ENABLE_EXTERNAL_XMP OFF"
|
||||
|
||||
@@ -100,7 +100,6 @@ if(QGC_ZEROCONF_ENABLED)
|
||||
NAME qmdnsengine
|
||||
GITHUB_REPOSITORY nitroshare/qmdnsengine
|
||||
GIT_TAG master
|
||||
GIT_SHALLOW TRUE
|
||||
OPTIONS
|
||||
"BUILD_DOC OFF"
|
||||
"BUILD_EXAMPLES OFF"
|
||||
|
||||
@@ -48,7 +48,6 @@ CPMAddPackage(
|
||||
NAME ArduPilotParams
|
||||
GITHUB_REPOSITORY ArduPilot/ParameterRepository
|
||||
GIT_TAG main
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
# file(GLOB QML_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.qml)
|
||||
|
||||
@@ -47,7 +47,6 @@ CPMAddPackage(
|
||||
NAME px4-gpsdrivers
|
||||
GITHUB_REPOSITORY PX4/PX4-GPSDrivers
|
||||
GIT_TAG main
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_SUBDIR src
|
||||
)
|
||||
|
||||
|
||||
+4
-22
@@ -17,34 +17,16 @@ target_include_directories(Geo PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
set(MINIMUM_GEOGRAPHICLIB_VERSION 2.3)
|
||||
set(TARGET_GEOGRAPHICLIB_VERSION 2.5)
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
if(LINUX)
|
||||
list(APPEND CMAKE_MODULE_PATH "/usr/share/cmake/geographiclib")
|
||||
endif()
|
||||
find_package(GeographicLib ${MINIMUM_GEOGRAPHICLIB_VERSION} COMPONENTS STATIC)
|
||||
if(TARGET GeographicLib::GeographicLib)
|
||||
target_link_libraries(Geo PRIVATE GeographicLib::GeographicLib)
|
||||
return()
|
||||
elseif(GeographicLib_FOUND)
|
||||
target_link_libraries(Geo PRIVATE ${GeographicLib_LIBRARIES})
|
||||
target_include_directories(Geo PRIVATE ${GeographicLib_INCLUDE_DIRS})
|
||||
target_link_directories(Geo PRIVATE ${GeographicLib_LIBRARY_DIRS})
|
||||
return()
|
||||
endif()
|
||||
if(LINUX AND EXISTS "/usr/share/cmake/geographiclib")
|
||||
list(APPEND CMAKE_MODULE_PATH "/usr/share/cmake/geographiclib")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building GeographicLib")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME geographiclib
|
||||
VERSION ${TARGET_GEOGRAPHICLIB_VERSION}
|
||||
VERSION 2.3
|
||||
GITHUB_REPOSITORY geographiclib/geographiclib
|
||||
GIT_TAG "r${TARGET_GEOGRAPHICLIB_VERSION}"
|
||||
GIT_SHALLOW TRUE
|
||||
GIT_TAG r2.5
|
||||
OPTIONS
|
||||
"BUILD_BOTH_LIBS OFF"
|
||||
"BUILD_DOCUMENTATION OFF"
|
||||
|
||||
@@ -55,7 +55,6 @@ CPMAddPackage(
|
||||
NAME sdl_gamecontrollerdb
|
||||
GITHUB_REPOSITORY mdqinc/SDL_GameControllerDB
|
||||
GIT_TAG master
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
set_source_files_properties(${sdl_gamecontrollerdb_SOURCE_DIR}/gamecontrollerdb.txt PROPERTIES QT_RESOURCE_ALIAS gamecontrollerdb.txt)
|
||||
@@ -67,18 +66,9 @@ qt_add_resources(Joystick "gamecontrollerdb.txt"
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
set(MINIMUM_SDL2_VERSION 2.0.20)
|
||||
set(TARGET_SDL2_VERSION 2.30.11)
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
find_package(SDL2 ${MINIMUM_SDL2_VERSION})
|
||||
if(TARGET SDL2::SDL2)
|
||||
target_link_libraries(Joystick PRIVATE SDL2::SDL2)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "Building SDL2")
|
||||
# https://github.com/libsdl-org/SDL/releases/download/prerelease-3.1.10/SDL3-3.1.10-win32-x64.zip
|
||||
# https://github.com/libsdl-org/SDL/releases/download/prerelease-3.1.10/SDL3-devel-3.1.10-android.zip
|
||||
# https://github.com/libsdl-org/SDL/releases/download/prerelease-3.1.10/SDL3-3.1.10.dmg
|
||||
|
||||
if(WIN32)
|
||||
set(SDL2_EXTRA_OPTIONS
|
||||
@@ -87,13 +77,11 @@ if(WIN32)
|
||||
)
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
CPMFindPackage(
|
||||
NAME sdl2
|
||||
VERSION ${TARGET_SDL2_VERSION}
|
||||
VERSION 2.0.20
|
||||
GITHUB_REPOSITORY libsdl-org/SDL
|
||||
GIT_TAG "release-${TARGET_SDL2_VERSION}"
|
||||
GIT_SHALLOW TRUE
|
||||
GIT_TAG release-2.30.11
|
||||
OPTIONS
|
||||
"SDL2_DISABLE_INSTALL ON"
|
||||
"SDL2_DISABLE_INSTALL ON"
|
||||
|
||||
@@ -41,7 +41,6 @@ message(STATUS "Building MAVLink")
|
||||
# NAME mavlink
|
||||
# GITHUB_REPOSITORY mavlink/mavlink
|
||||
# GIT_TAG master
|
||||
# GIT_SHALLOW TRUE
|
||||
# OPTIONS
|
||||
# "MAVLINK_DIALECT all"
|
||||
# "MAVLINK_VERSION 2.0"
|
||||
|
||||
@@ -32,7 +32,6 @@ CPMAddPackage(
|
||||
NAME libevents
|
||||
GITHUB_REPOSITORY mavlink/libevents
|
||||
GIT_TAG main
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_SUBDIR libs/cpp
|
||||
)
|
||||
|
||||
|
||||
@@ -6,9 +6,8 @@ qt_add_library(UTMSP STATIC)
|
||||
if(QGC_UTM_ADAPTER)
|
||||
message(STATUS "UTMSP is Initialized")
|
||||
|
||||
# message(STATUS "Building nlohmann_json")
|
||||
# include(CPM)
|
||||
# CPMAddPackage(
|
||||
# CPMFindPackage(
|
||||
# NAME nlohmann_json
|
||||
# VERSION 3.11.3
|
||||
# GITHUB_REPOSITORY nlohmann/json
|
||||
|
||||
@@ -62,30 +62,16 @@ endif()
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
set(MINIMUM_SHAPELIB_VERSION 1.6.0)
|
||||
set(TARGET_SHAPELIB_VERSION 1.6.1)
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
find_package(Shapelib ${MINIMUM_SHAPELIB_VERSION})
|
||||
if(TARGET SHAPELIB::shp)
|
||||
target_link_libraries(Utilities PRIVATE SHAPELIB::shp)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "Building Shapelib")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
CPMFindPackage(
|
||||
NAME shapelib
|
||||
VERSION ${TARGET_SHAPELIB_VERSION}
|
||||
VERSION 1.6.0
|
||||
GITHUB_REPOSITORY OSGeo/shapelib
|
||||
GIT_TAG v1.6.1
|
||||
OPTIONS
|
||||
"BUILD_SHAPELIB_CONTRIB OFF"
|
||||
"BUILD_APPS OFF"
|
||||
"BUILD_TESTING OFF"
|
||||
)
|
||||
|
||||
if(TARGET shp)
|
||||
target_link_libraries(Utilities PRIVATE shp)
|
||||
endif()
|
||||
target_link_libraries(Utilities PRIVATE shp)
|
||||
|
||||
@@ -21,48 +21,28 @@ target_include_directories(Compression PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
set(MINIMUM_ZLIB_VERSION 1.2.13)
|
||||
set(TARGET_ZLIB_VERSION 1.3.1)
|
||||
include(CPM)
|
||||
CPMFindPackage(
|
||||
NAME zlib
|
||||
VERSION 1.3.1
|
||||
GITHUB_REPOSITORY madler/zlib
|
||||
OPTIONS
|
||||
"ZLIB_BUILD_EXAMPLES OFF"
|
||||
"SKIP_INSTALL_FILES ON"
|
||||
"SKIP_INSTALL_LIBRARIES ON"
|
||||
"SKIP_INSTALL_HEADERS ON"
|
||||
"SKIP_INSTALL_ALL ON"
|
||||
"ZLIB_USE_STATIC_LIBS ON"
|
||||
)
|
||||
|
||||
if(NOT QGC_BUILD_DEPENDENCIES)
|
||||
set(ZLIB_USE_STATIC_LIBS ON)
|
||||
find_package(ZLIB ${MINIMUM_ZLIB_VERSION})
|
||||
if(TARGET ZLIB::ZLIB)
|
||||
target_link_libraries(Compression PRIVATE ZLIB::ZLIB)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT TARGET ZLIB::ZLIB)
|
||||
message(STATUS "Building ZLIB")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME zlib
|
||||
VERSION ${TARGET_ZLIB_VERSION}
|
||||
GITHUB_REPOSITORY madler/zlib
|
||||
OPTIONS
|
||||
"ZLIB_BUILD_EXAMPLES OFF"
|
||||
"SKIP_INSTALL_FILES ON"
|
||||
"SKIP_INSTALL_LIBRARIES ON"
|
||||
"SKIP_INSTALL_HEADERS ON"
|
||||
"SKIP_INSTALL_ALL ON"
|
||||
)
|
||||
|
||||
if(TARGET zlibstatic)
|
||||
target_link_libraries(Compression PRIVATE zlibstatic)
|
||||
endif()
|
||||
endif()
|
||||
target_link_libraries(Compression PRIVATE zlibstatic)
|
||||
|
||||
#===========================================================================#
|
||||
|
||||
message(STATUS "Building XZ")
|
||||
|
||||
include(CPM)
|
||||
CPMAddPackage(
|
||||
NAME xz-embedded
|
||||
VERSION 2024-12-30
|
||||
GITHUB_REPOSITORY tukaani-project/xz-embedded
|
||||
GIT_TAG "v2024-12-30"
|
||||
GIT_SHALLOW TRUE
|
||||
OPTIONS
|
||||
"BUILD_SHAPELIB_CONTRIB OFF"
|
||||
"BUILD_APPS OFF"
|
||||
|
||||
Reference in New Issue
Block a user