4
0
mirror of https://github.com/QuasarApp/Hanoi-Towers.git synced 2025-05-13 01:49:34 +00:00

118 lines
3.4 KiB
CMake
Raw Normal View History

2020-03-31 12:00:43 +03:00
#
# Copyright (C) 2018-2021 QuasarApp.
2020-03-31 12:00:43 +03:00
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
cmake_minimum_required(VERSION 3.1)
2020-05-24 02:24:49 +03:00
2021-04-20 19:00:58 +03:00
set(CURRENT_PROJECT ${PROJECT_NAME})
2020-03-31 12:00:43 +03:00
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB SOURCE_CPP
2022-02-22 17:02:45 +03:00
"*.cpp" "*.h" "*.qrc"
2020-03-31 12:00:43 +03:00
)
2021-04-12 17:38:10 +03:00
if (ANDROID)
2021-04-22 15:32:36 +03:00
2021-04-12 17:38:10 +03:00
add_library(${CURRENT_PROJECT} ${SOURCE_CPP})
else()
add_executable(${CURRENT_PROJECT} ${SOURCE_CPP})
endif()
2021-03-19 22:02:37 +03:00
target_link_libraries(${CURRENT_PROJECT} PRIVATE QmlNotyfyService HanoiTowersProtockol LoginView Credits)
2020-05-03 20:38:35 +03:00
target_include_directories(${CURRENT_PROJECT} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
2020-03-31 12:00:43 +03:00
2021-02-11 18:39:31 +03:00
set(LANGS ${CMAKE_CURRENT_SOURCE_DIR}/languages/en.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/ru.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/ja.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/tr.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/uk.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/es.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/fr.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/de.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/zh.ts
${CMAKE_CURRENT_SOURCE_DIR}/languages/pl.ts)
2021-02-11 18:39:31 +03:00
2021-03-19 22:02:37 +03:00
prepareQM(${CURRENT_PROJECT} ${CMAKE_CURRENT_SOURCE_DIR} "${LANGS}")
2021-04-19 16:16:06 +03:00
2021-04-19 16:57:27 +03:00
if (ANDROID)
2022-02-23 13:45:52 +03:00
set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
2022-02-22 12:09:02 +03:00
2023-11-10 07:50:38 +01:00
set(ENV{ANDROID_API_VERSION} 34)
2022-02-22 12:09:02 +03:00
set(ANDROID_API_VERSION $ENV{ANDROID_API_VERSION})
set(OPENSSL_ROOT_PATH "$ENV{OPENSSL_ROOT_DIR}")
2021-04-27 22:02:07 +03:00
set(HANOI_EXTRA_LIBS Heart
2021-04-27 13:23:16 +03:00
${PROJECT_NAME}Protockol
2021-04-27 15:18:21 +03:00
QuasarApp
LoginView
2021-04-27 22:36:45 +03:00
Credits
2021-04-27 22:02:07 +03:00
QmlNotyfyService)
2021-04-27 12:28:45 +03:00
2021-05-07 12:47:15 +03:00
find_package(QT NAMES Qt6 Qt5 COMPONENTS AndroidExtras REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS AndroidExtras REQUIRED)
2022-02-22 21:39:14 +03:00
addDeploySignedAPK(
${CURRENT_PROJECT}
"${CMAKE_CURRENT_LIST_DIR}/android"
"digitalface"
"${SIGPATH}/DigitalFaceMobily.keystore"
"${SIGPASS_HANOI}"
"${TARGET_DIR}"
"${HANOI_EXTRA_LIBS}")
2022-02-21 00:06:06 +03:00
target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::AndroidExtras)
if (HANOI_ADMOD)
target_link_libraries(${CURRENT_PROJECT} PRIVATE QtAndroidTools)
endif()
2021-05-06 17:15:22 +03:00
2022-02-22 21:50:05 +03:00
set(manifest_file "${CMAKE_CURRENT_SOURCE_DIR}/android/AndroidManifest.xml")
configure_file("${manifest_file}.in" ${manifest_file} @ONLY)
set(gradle_file "${CMAKE_CURRENT_SOURCE_DIR}/android/build.gradle")
configure_file("${gradle_file}.in" ${gradle_file} @ONLY)
2021-05-07 10:10:32 +03:00
file(GLOB java_files
"android/src/com/quasarapp/androidtools/*.java"
2022-02-23 13:45:52 +03:00
"android/*.xml"
"android/*.in"
"android/*.gradle"
"android/gradlew"
"android/gradle.*"
2021-05-07 10:10:32 +03:00
)
add_custom_target(${name}Android
SOURCES ${java_files}
)
2021-04-19 16:57:27 +03:00
else()
2021-04-19 16:27:59 +03:00
# Desctop deploying
2021-04-19 16:16:06 +03:00
addDeployFromCustomFile("Client" "${CMAKE_SOURCE_DIR}/Deploy/Client.json")
2021-04-19 16:24:04 +03:00
2021-05-09 10:11:31 +03:00
if (UNIX)
#addDeployQIF("Client" ${INSTALLER_DIR} ${TARGET_DIR} "${INSTALLER_DIR}/config/configLinux.xml")
addDeploySnap("Client" ${TARGET_DIR})
2021-04-19 16:24:04 +03:00
2021-05-09 10:11:31 +03:00
#addReleaseSnap("Client")
2021-04-19 16:24:04 +03:00
2021-05-09 10:11:31 +03:00
endif()
2021-04-19 16:24:04 +03:00
endif()
#addReleaseQif("Client" ${DATA_DIR} ${TARGET_DIR})