feat: initiale Projektstruktur nach Framework 1.7

This commit is contained in:
darklithium
2026-06-01 17:16:02 +02:00
commit 9123c7465f
17 changed files with 1919 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
# CMakeLists.txt Template für Ubuntu Touch Apps
# Basierend auf metime und Referenz-App (Version 1.7)
#
# VERWENDUNG:
# 1. Kopiere diese Datei nach CMakeLists.txt in deinem Projekt
# 2. Ersetze fortunecookie mit deinem App-Namen
#
# WICHTIG (1.7):
# - builder: pure-qml-cmake (für QML+Python-Apps)
# - architecture: all (pure-qml-cmake erzwingt das)
# - CMAKE_AUTOMOC ON (für Qt5)
#
# Für Apps MIT nativem C++-Code:
# Füge zusätzliche Qt5-Komponenten hinzu
cmake_minimum_required(VERSION 3.0.0)
project(fortunecookie C CXX)
# Qt5
set(CMAKE_AUTOMOC ON)
# Architektur-Triplet (für Qt5-Bibliotheken)
execute_process(
COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
OUTPUT_VARIABLE ARCH_TRIPLET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(QT_IMPORTS_DIR "lib/${ARCH_TRIPLET}")
# Projekt-Metadaten
set(PROJECT_NAME "fortunecookie")
set(FULL_PROJECT_NAME "fortunecookie.darklithium")
set(DATA_DIR /)
# Manifest und Desktop-Datei generieren
configure_file(manifest.json.in ${CMAKE_CURRENT_BINARY_DIR}/manifest.json)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION ${CMAKE_INSTALL_PREFIX})
install(FILES ${PROJECT_NAME}.apparmor DESTINATION ${DATA_DIR})
# Dateien installieren
install(DIRECTORY assets DESTINATION ${DATA_DIR})
install(DIRECTORY src DESTINATION ${DATA_DIR})
install(DIRECTORY qml DESTINATION ${DATA_DIR})
install(FILES ${PROJECT_NAME}.desktop.in DESTINATION ${DATA_DIR})
# ============================================================================
# OPTIONAL: Für Apps mit Übersetzungen (po/)
# ============================================================================
# Falls du Übersetzungen brauchst, entkommentiere die folgenden Zeilen:
#
# find_program(INTLTOOL_MERGE intltool-merge)
# if(NOT INTLTOOL_MERGE)
# message(FATAL_ERROR "intltool-merge nicht gefunden, bitte intltool installieren")
# endif()
#
# find_program(INTLTOOL_EXTRACT intltool-extract)
# if(NOT INTLTOOL_EXTRACT)
# message(FATAL_ERROR "intltool-extract nicht gefunden, bitte intltool installieren")
# endif()
#
# file(GLOB_RECURSE I18N_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po qml/*.qml)
# list(APPEND I18N_SRC_FILES ${PROJECT_NAME}.desktop.in.h)
#
# add_custom_target(${PROJECT_NAME}_desktop ALL
# COMMENT "Generiere Desktop-Datei..."
# COMMAND LC_ALL=C ${INTLTOOL_MERGE} -d -u ${CMAKE_SOURCE_DIR}/po ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.desktop.in ${PROJECT_NAME}.desktop
# COMMAND sed -i 's/${PROJECT_NAME}-//g' ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.desktop
# )
#
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.desktop DESTINATION ${DATA_DIR})
# add_subdirectory(po)