CMake: Deployment Updates

This commit is contained in:
Holden
2025-01-15 22:37:28 -05:00
committed by Holden
parent 71c749bde0
commit dcb28382cc
22 changed files with 100 additions and 130 deletions
+23 -80
View File
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.24)
cmake_minimum_required(VERSION 3.22.1)
list(APPEND CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake
@@ -29,7 +29,7 @@ endif()
include(Git)
project(QGroundControl
project(${QGC_APP_NAME}
VERSION ${QGC_APP_VERSION}
DESCRIPTION ${QGC_APP_DESCRIPTION}
HOMEPAGE_URL "https://qgroundcontrol.com/"
@@ -44,11 +44,6 @@ if(APPLE AND NOT IOS)
set(MACOS TRUE)
endif()
if(IOS OR ANDROID)
set(MOBILE TRUE)
add_compile_definitions(__mobile__)
endif()
#######################################################
# CMake Configuration Options
#######################################################
@@ -220,10 +215,6 @@ if(LINUX)
find_package(Qt6 ${QT_MINIMUM_VERSION} COMPONENTS WaylandClient)
endif()
if(NOT Qt6LinguistTools_DIR)
set(Qt6LinguistTools_DIR ${QT_HOST_PATH}/lib/cmake/Qt6LinguistTools)
endif()
qt_standard_project_setup(
REQUIRES ${QT_MINIMUM_VERSION}
SUPPORTS_UP_TO ${QT_MINIMUM_VERSION}
@@ -290,6 +281,8 @@ endif()
# QGroundControl Resources
#######################################################
# Note: Adding Resources to Library instead requires using Q_INIT_RESOURCE(qgcresources)
if(NOT QGC_CUSTOM_BUILD)
# Custom builds can override the resources
list(APPEND QGC_RESOURCES
@@ -319,7 +312,7 @@ endif()
# QGroundControl Target
#######################################################
qt_add_executable(${PROJECT_NAME}
qt_add_executable(${CMAKE_PROJECT_NAME}
src/main.cc
${QGC_RESOURCES}
)
@@ -336,7 +329,7 @@ if(Qt6LinguistTools_FOUND)
)
endif()
set_target_properties(${PROJECT_NAME}
set_target_properties(${CMAKE_PROJECT_NAME}
PROPERTIES
QT_RESOURCE_PREFIX "/qgc"
OUTPUT_NAME ${CMAKE_PROJECT_NAME}
@@ -348,18 +341,9 @@ if(WIN32)
"${CMAKE_SOURCE_DIR}/deploy/windows/driver.msi"
"${CMAKE_SOURCE_DIR}/deploy/windows/nullsoft_installer.nsi"
"${CMAKE_SOURCE_DIR}/deploy/windows/QGroundControl.rc"
"${QGC_WINDOWS_INSTALL_HEADER_PATH}"
"${QGC_WINDOWS_ICON_PATH}"
)
# windows installer files different for core and custom
if(EXISTS ${CMAKE_SOURCE_DIR}/custom/deploy/windows/installheader.bmp)
list(APPEND DEPLOY_WIN_FILES ${CMAKE_SOURCE_DIR}/custom/deploy/windows/installheader.bmp)
else()
list(APPEND DEPLOY_WIN_FILES ${CMAKE_SOURCE_DIR}/deploy/windows/installheader.bmp)
endif()
if(EXISTS ${CMAKE_SOURCE_DIR}/custom/deploy/windows/WindowsQGC.ico)
list(APPEND DEPLOY_WIN_FILES ${CMAKE_SOURCE_DIR}/custom/deploy/windows/WindowsQGC.ico)
else()
list(APPEND DEPLOY_WIN_FILES ${CMAKE_SOURCE_DIR}/deploy/windows/WindowsQGC.ico)
endif()
# Destination directory where files will be copied
set(QGC_INSTALLER_SOURCE_WIN "${CMAKE_BINARY_DIR}/deploy/windows")
@@ -376,23 +360,17 @@ if(WIN32)
list(APPEND QGC_INSTALLER_SOURCE_WIN_FILES "${QGC_INSTALLER_SOURCE_WIN}/${FILE_NAME}")
endforeach()
target_sources(${PROJECT_NAME}
PRIVATE
${QGC_INSTALLER_SOURCE_WIN_FILES}
)
set_target_properties(${PROJECT_NAME}
target_sources(${CMAKE_PROJECT_NAME} PRIVATE ${QGC_INSTALLER_SOURCE_WIN_FILES})
set_target_properties(${CMAKE_PROJECT_NAME}
PROPERTIES
WIN32_EXECUTABLE TRUE
QT_TARGET_RC_ICONS "${CMAKE_BINARY_DIR}/deploy/windows/WindowsQGC.ico"
QT_TARGET_RC_ICONS "${QGC_WINDOWS_ICON_PATH}"
)
add_compile_definitions(_USE_MATH_DEFINES)
elseif(MACOS)
set(MACOSX_BUNDLE_ICON_FILE "macx.icns")
set(app_icon_macos "${QGC_MACOS_ICON_PATH}/macx.icns")
set_source_files_properties(${app_icon_macos}
PROPERTIES
MACOSX_PACKAGE_LOCATION "Resources"
)
set_source_files_properties(${app_icon_macos} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
target_sources(${PROJECT_NAME} PRIVATE ${app_icon_macos})
set_target_properties(${PROJECT_NAME}
PROPERTIES
@@ -452,32 +430,6 @@ elseif(ANDROID)
endif()
set(ANDROID_VERSION_CODE "${ANDROID_PLATFORM_ARCHITECTURE_CODE}${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}")
if(NOT QGC_CUSTOM_BUILD)
set(QGC_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/android)
else()
set(CUSTOM_ANDROID_DIR "${CMAKE_SOURCE_DIR}/custom/android")
if(EXISTS "${CUSTOM_ANDROID_DIR}")
file(GLOB CUSTOM_ANDROID_FILES "${CUSTOM_ANDROID_DIR}/*")
if(CUSTOM_ANDROID_FILES)
message(STATUS "Custom Android package template found. Overlaying custom files...")
set(DEFAULT_ANDROID_DIR "${CMAKE_SOURCE_DIR}/android")
set(FINAL_ANDROID_DIR "${CMAKE_BINARY_DIR}/custom/android")
file(COPY "${DEFAULT_ANDROID_DIR}/." DESTINATION "${FINAL_ANDROID_DIR}")
file(COPY "${CUSTOM_ANDROID_DIR}/." DESTINATION "${FINAL_ANDROID_DIR}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
"${DEFAULT_ANDROID_DIR}/"
"${CUSTOM_ANDROID_DIR}/"
)
set(QGC_ANDROID_PACKAGE_SOURCE_DIR "${FINAL_ANDROID_DIR}" CACHE STRING "Path to a custom Android package template" FORCE)
message(STATUS "Android package template path will be set to: ${QGC_ANDROID_PACKAGE_SOURCE_DIR}")
else()
message(STATUS "Custom Android package template empty. Using default.")
endif()
else()
message(STATUS "No custom Android package template found. Using default.")
endif()
endif()
set_target_properties(${CMAKE_PROJECT_NAME}
PROPERTIES
# QT_ANDROID_ABIS ${ANDROID_ABI}
@@ -502,25 +454,24 @@ add_compile_definitions(
QGC_ORG_NAME="${QGC_ORG_NAME}"
QGC_ORG_DOMAIN="${QGC_ORG_DOMAIN}"
QGC_APP_VERSION_STR="${QGC_APP_VERSION_STR}"
QGC_SETTINGS_VERSION=${QGC_SETTINGS_VERSION}
)
add_subdirectory(src)
target_link_libraries(${PROJECT_NAME}
target_link_libraries(${CMAKE_PROJECT_NAME}
PRIVATE
Qt6::Core
Qt6::Quick
Qt6::Widgets
Qt6::Svg # Used to import QSvgPlugin
QGC
QmlControls
Utilities
)
if(QGC_BUILD_TESTING)
add_subdirectory(test)
target_link_libraries(${PROJECT_NAME} PRIVATE qgctest)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE qgctest)
endif()
qt_import_plugins(${PROJECT_NAME}
qt_import_plugins(${CMAKE_PROJECT_NAME}
INCLUDE Qt6::QSvgPlugin
EXCLUDE_BY_TYPE geoservices
INCLUDE_BY_TYPE sqldrivers Qt6::QSQLiteDriverPlugin
@@ -533,7 +484,7 @@ qt_import_plugins(${PROJECT_NAME}
include(InstallRequiredSystemLibraries)
install(
TARGETS ${PROJECT_NAME}
TARGETS ${CMAKE_PROJECT_NAME}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -546,7 +497,7 @@ if(APPLE)
endif()
qt_generate_deploy_qml_app_script(
TARGET ${PROJECT_NAME}
TARGET ${CMAKE_PROJECT_NAME}
OUTPUT_SCRIPT deploy_script
DEPLOY_TOOL_OPTIONS ${deploy_tool_options_arg}
MACOS_BUNDLE_POST_BUILD
@@ -565,19 +516,11 @@ if(LINUX)
FILES ${CMAKE_BINARY_DIR}/org.mavlink.qgroundcontrol.desktop
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
)
if(QGC_CUSTOM_BUILD)
install(
FILES ${CMAKE_SOURCE_DIR}/custom/res/icons/custom_qgroundcontrol.png
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/
RENAME org.mavlink.qgroundcontrol.png
)
else()
install(
FILES ${CMAKE_SOURCE_DIR}/resources/icons/qgroundcontrol.png
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/
RENAME org.mavlink.qgroundcontrol.png
)
endif()
install(
FILES ${QGC_APPIMAGE_ICON_PATH}
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/
RENAME org.mavlink.qgroundcontrol.png
)
configure_file(
${CMAKE_SOURCE_DIR}/deploy/linux/org.mavlink.qgroundcontrol.metainfo.xml.in
${CMAKE_BINARY_DIR}/metainfo/org.mavlink.qgroundcontrol.metainfo.xml
+11 -1
View File
@@ -1,7 +1,6 @@
# The following options can be overriden by custom builds using the CustomOverrides.cmake file
# General
set(QGC_APP_NAME "QGroundControl" CACHE STRING "App Name")
set(QGC_APP_COPYRIGHT "Copyright (c) 2024 QGroundControl. All rights reserved." CACHE STRING "Copyright")
set(QGC_APP_DESCRIPTION "Open Source Ground Control App" CACHE STRING "Description")
@@ -35,11 +34,19 @@ set(QGC_MAVLINK_GIT_TAG "b71f061a53941637cbcfc5bcf860f96bc82e0892" CACHE STRING
set(QGC_QT_ANDROID_MIN_SDK_VERSION "28" CACHE STRING "Android Min SDK Version")
set(QGC_QT_ANDROID_TARGET_SDK_VERSION "35" CACHE STRING "Android Target SDK Version")
set(QGC_ANDROID_PACKAGE_NAME "org.mavlink.qgroundcontrol" CACHE STRING "Android Package Name")
set(QGC_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/android" CACHE PATH "Android Package Path")
# MacOS
set(QGC_BUNDLE_ID "org.qgroundcontrol.QGroundControl" CACHE STRING "MacOS Bundle ID") # MACOS
set(QGC_MACOS_ICON_PATH "${CMAKE_SOURCE_DIR}/deploy/mac" CACHE PATH "MacOS Icon Path") # MACOS
# Linux
set(QGC_APPIMAGE_ICON_PATH "${CMAKE_SOURCE_DIR}/resources/icons/qgroundcontrol.png" CACHE FILEPATH "AppImage Icon Path")
# Windows
set(QGC_WINDOWS_INSTALL_HEADER_PATH "${CMAKE_SOURCE_DIR}/deploy/windows/installheader.bmp" CACHE FILEPATH "Windows Install Header Path")
set(QGC_WINDOWS_ICON_PATH "${CMAKE_SOURCE_DIR}/deploy/windows/WindowsQGC.ico" CACHE FILEPATH "Windows Icon Path")
# APM
option(QGC_DISABLE_APM_MAVLINK "Disable APM Dialect" OFF)
option(QGC_DISABLE_APM_PLUGIN "Disable APM Plugin" OFF)
@@ -49,3 +56,6 @@ option(QGC_DISABLE_APM_PLUGIN_FACTORY "Disable APM Plugin Factory" OFF)
option(QGC_DISABLE_PX4_PLUGIN "Disable PX4 Plugin" OFF)
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")
+24
View File
@@ -9,6 +9,30 @@ set_property(DIRECTORY ${CMAKE_SOURCE_DIR}
CUSTOMCLASS=CustomPlugin
)
if(ANDROID)
set(CUSTOM_ANDROID_DIR "${CMAKE_SOURCE_DIR}/custom/android")
if(EXISTS "${CUSTOM_ANDROID_DIR}")
file(GLOB CUSTOM_ANDROID_FILES "${CUSTOM_ANDROID_DIR}/*")
if(CUSTOM_ANDROID_FILES)
message(STATUS "Custom Android package template found. Overlaying custom files...")
set(DEFAULT_ANDROID_DIR "${CMAKE_SOURCE_DIR}/android")
set(FINAL_ANDROID_DIR "${CMAKE_BINARY_DIR}/custom/android")
file(COPY "${DEFAULT_ANDROID_DIR}/." DESTINATION "${FINAL_ANDROID_DIR}")
file(COPY "${CUSTOM_ANDROID_DIR}/." DESTINATION "${FINAL_ANDROID_DIR}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
"${DEFAULT_ANDROID_DIR}/"
"${CUSTOM_ANDROID_DIR}/"
)
set(QGC_ANDROID_PACKAGE_SOURCE_DIR "${FINAL_ANDROID_DIR}" CACHE STRING "Path to a custom Android package template" FORCE)
message(STATUS "Android package template path will be set to: ${QGC_ANDROID_PACKAGE_SOURCE_DIR}")
else()
message(STATUS "Custom Android package template empty. Using default.")
endif()
else()
message(STATUS "No custom Android package template found. Using default.")
endif()
endif()
find_package(Python3)
if(Python3_FOUND)
execute_process(
@@ -1,6 +1,15 @@
set(QGC_APP_NAME "Custom-QGroundControl" CACHE STRING "App Name" FORCE)
set(QGC_MACOS_ICON_PATH "${CMAKE_SOURCE_DIR}/custom/res" CACHE PATH "MacOS Icon Path" FORCE)
set(QGC_APPIMAGE_ICON_PATH "${CMAKE_SOURCE_DIR}/custom/res/icons/custom_qgroundcontrol.png" CACHE FILEPATH "AppImage Icon Path" FORCE)
if(EXISTS ${CMAKE_SOURCE_DIR}/custom/deploy/windows/installheader.bmp)
set(QGC_WINDOWS_INSTALL_HEADER_PATH "${CMAKE_SOURCE_DIR}/custom/deploy/windows/installheader.bmp" CACHE FILEPATH "Windows Install Header Path" FORCE)
endif()
if(EXISTS ${CMAKE_SOURCE_DIR}/custom/deploy/windows/WindowsQGC.ico)
set(QGC_WINDOWS_ICON_PATH "${CMAKE_SOURCE_DIR}/custom/deploy/windows/WindowsQGC.ico" CACHE FILEPATH "Windows Icon Path" FORCE)
endif()
# Build a single flight stack by disabling APM support
set(QGC_DISABLE_APM_MAVLINK ON CACHE BOOL "Disable APM Dialect" FORCE)
+2 -2
View File
@@ -107,7 +107,7 @@ endif()
#===========================================================================#
set(MINIMUM_EXIV2_VERSION 0.28.0)
set(MINIMUM_EXIV2_VERSION 0.28)
set(TARGET_EXIV2_VERSION 0.28.3)
set(MINIMUM_EXPAT_VERSION 2.2.6)
@@ -138,7 +138,7 @@ set(TARGET_EXPAT_VERSION 2.6.4)
if(NOT QGC_BUILD_DEPENDENCIES)
find_package(exiv2 ${MINIMUM_EXIV2_VERSION})
if(TARGET Exiv2::exiv2lib)
if(TARGET Exiv2::exiv2lib) # AND exiv2_VERSION VERSION_GREATER_EQUAL ${MINIMUM_EXIV2_VERSION})
target_link_libraries(AnalyzeView PRIVATE Exiv2::exiv2lib)
return()
endif()
-1
View File
@@ -13,7 +13,6 @@ qt_add_library(QGC STATIC
CmdLineOptParser.h
QGCApplication.cc
QGCApplication.h
QGCConfig.h
)
add_subdirectory(ADSB)
+1 -1
View File
@@ -1268,7 +1268,7 @@ FactMetaData* FactMetaData::createFromJsonObject(const QJsonObject& json, QMap<Q
}
QString defaultValueJsonKey = _defaultValueJsonKey;
#ifdef __mobile__
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
if (json.contains(_mobileDefaultValueJsonKey)) {
defaultValueJsonKey = _mobileDefaultValueJsonKey;
}
+4 -3
View File
@@ -1,7 +1,8 @@
find_package(Qt6 REQUIRED COMPONENTS Core Network)
set(APM_RESOURCES)
qt_add_resources(APM_RESOURCES APMResources.qrc)
# set(APM_RESOURCES)
# qt_add_resources(APM_RESOURCES APMResources.qrc)
qt_add_library(APMFirmwarePlugin STATIC
APMFirmwarePlugin.cc
APMFirmwarePlugin.h
@@ -17,7 +18,7 @@ qt_add_library(APMFirmwarePlugin STATIC
ArduRoverFirmwarePlugin.h
ArduSubFirmwarePlugin.cc
ArduSubFirmwarePlugin.h
${APM_RESOURCES}
# ${APM_RESOURCES}
)
target_link_libraries(APMFirmwarePlugin
+4 -3
View File
@@ -1,7 +1,8 @@
find_package(Qt6 REQUIRED COMPONENTS Core)
set(PX4_RESOURCES)
qt_add_resources(PX4_RESOURCES PX4Resources.qrc)
# set(PX4_RESOURCES)
# qt_add_resources(PX4_RESOURCES PX4Resources.qrc)
qt_add_library(PX4FirmwarePlugin STATIC
px4_custom_mode.h
PX4FirmwarePlugin.cc
@@ -10,7 +11,7 @@ qt_add_library(PX4FirmwarePlugin STATIC
# PX4FirmwarePluginFactory.h
PX4ParameterMetaData.cc
PX4ParameterMetaData.h
${PX4_RESOURCES}
# ${PX4_RESOURCES}
)
target_link_libraries(PX4FirmwarePlugin
+1 -1
View File
@@ -69,7 +69,7 @@ qt_add_resources(Joystick "gamecontrollerdb.txt"
#===========================================================================#
set(MINIMUM_SDL2_VERSION 2.24.0)
set(MINIMUM_SDL2_VERSION 2.0.20)
set(TARGET_SDL2_VERSION 2.30.11)
if(NOT QGC_BUILD_DEPENDENCIES)
+3 -4
View File
@@ -51,7 +51,6 @@
#include "ParameterManager.h"
#include "PositionManager.h"
#include "QGCCameraManager.h"
#include "QGCConfig.h"
#include "QGCCorePlugin.h"
#include "QGCFileDownload.h"
#include "QGCImageProvider.h"
@@ -148,9 +147,9 @@ QGCApplication::QGCApplication(int &argc, char *argv[], bool unitTesting)
setOrganizationName(QGC_ORG_NAME);
setOrganizationDomain(QGC_ORG_DOMAIN);
setApplicationVersion(QString(QGC_APP_VERSION_STR));
#ifdef Q_OS_LINUX
setWindowIcon(QIcon(":/res/qgroundcontrol.ico"));
#endif
#ifdef Q_OS_LINUX
setWindowIcon(QIcon(":/res/qgroundcontrol.ico"));
#endif
// Set settings format
QSettings::setDefaultFormat(QSettings::IniFormat);
-14
View File
@@ -1,14 +0,0 @@
/****************************************************************************
*
* (c) 2009-2024 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#pragma once
// 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.
#define QGC_SETTINGS_VERSION 9
+1 -1
View File
@@ -56,7 +56,7 @@ AppLogModel *AppMessages::getModel()
AppLogModel::AppLogModel() : QStringListModel()
{
#ifdef __mobile__
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
Qt::ConnectionType contype = Qt::QueuedConnection;
#else
Qt::ConnectionType contype = Qt::AutoConnection;
+2 -2
View File
@@ -93,7 +93,7 @@ DECLARE_SETTINGGROUP(App, "")
SettingsFact* savePathFact = qobject_cast<SettingsFact*>(savePath());
QString appName = QCoreApplication::applicationName();
#ifdef __mobile__
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
// Mobile builds always use the runtime generated location for savePath.
bool userHasModifiedSavePath = false;
#else
@@ -101,7 +101,7 @@ DECLARE_SETTINGGROUP(App, "")
#endif
if (!userHasModifiedSavePath) {
#ifdef __mobile__
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
#ifdef Q_OS_IOS
// This will expose the directories directly to the File iOs app
QDir rootDir = QDir(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
+4 -3
View File
@@ -18,7 +18,8 @@ if(QGC_UTM_ADAPTER)
find_package(Qt6 REQUIRED COMPONENTS Network Positioning Qml)
find_package(Threads REQUIRED)
qt_add_resources(UTMSP_RESOURCES utmsp.qrc)
# qt_add_resources(UTMSP_RESOURCES utmsp.qrc)
target_sources(UTMSP
PRIVATE
UTMSPAircraft.cpp
@@ -111,8 +112,8 @@ if(QGC_UTM_ADAPTER)
else()
message(STATUS "UTMSP: Dummy is Initialized")
qt_add_resources(UTMSP_RESOURCES dummy/utmsp_dummy.qrc)
target_sources(UTMSP PRIVATE ${UTMSP_RESOURCES})
# qt_add_resources(UTMSP_RESOURCES dummy/utmsp_dummy.qrc)
# target_sources(UTMSP PRIVATE ${UTMSP_RESOURCES})
# qt_add_qml_module(UTMSP
# URI QGroundControl.UTMSP
+1 -1
View File
@@ -29,7 +29,7 @@ qt_add_library(Utilities STATIC
StateMachine.h
)
if(MOBILE)
if(ANDROID OR IOS)
target_sources(Utilities PRIVATE MobileScreenMgr.h)
if(ANDROID)
target_sources(Utilities PRIVATE MobileScreenMgr.cc)
+1 -2
View File
@@ -7,10 +7,9 @@
*
****************************************************************************/
#include "MobileScreenMgr.h"
//static const char* kJniClassName = "org/mavlink/qgroundcontrol/QGCActivity";
// static const char* kJniClassName = "org/mavlink/qgroundcontrol/QGCActivity";
void MobileScreenMgr::setKeepScreenOn(bool /*keepScreenOn*/)
{
+5 -6
View File
@@ -7,16 +7,15 @@
*
****************************************************************************/
#pragma once
#ifdef __mobile__
#include <QtCore/QtSystemDetection>
class MobileScreenMgr {
public:
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
namespace MobileScreenMgr {
/// Turns on/off screen sleep on mobile devices
static void setKeepScreenOn(bool keepScreenOn);
void setKeepScreenOn(bool keepScreenOn);
};
#endif
-1
View File
@@ -7,7 +7,6 @@
*
****************************************************************************/
#include "MobileScreenMgr.h"
#import <Foundation/Foundation.h>
+3 -4
View File
@@ -14,10 +14,9 @@
#include <QtQuick/QQuickWindow>
#include "QGCApplication.h"
#include "QGC.h"
#include "AppMessages.h"
#ifndef __mobile__
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
#include "RunGuard.h"
#endif
@@ -82,12 +81,12 @@ void sigHandler(int s)
int main(int argc, char *argv[])
{
#ifndef __mobile__
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
// We make the runguard key different for custom and non custom
// builds, so they can be executed together in the same device.
// Stable and Daily have same QGC_APP_NAME so they would
// not be able to run at the same time
const QString runguardString = QString("%1 RunGuardKey").arg(QGC_APP_NAME);
const QString runguardString = QStringLiteral("%1 RunGuardKey").arg(QGC_APP_NAME);
RunGuard guard(runguardString);
if (!guard.tryToRun()) {
+1
View File
@@ -125,6 +125,7 @@ add_qgc_test(MAVLinkLogManagerTest)
# set(UNIT_TESTING_RESOURCES)
# qt_add_resources(UNIT_TESTING_RESOURCES UnitTest.qrc)
qt_add_library(qgctest
STATIC
UnitTestList.cc