Englisch hinzugefügt

This commit is contained in:
2026-08-25 14:28:39 +02:00
parent 53608725aa
commit bd40a583cb
108 changed files with 681 additions and 10688 deletions

View File

@@ -16,8 +16,6 @@ set(CMAKE_AUTOUIC ON)
# ---------------------------------------------------------------------------
# Plattform-Erkennung
# Haiku definiert kein eigenes CMake-Flag — wir erkennen es über den
# Systemnamen. CMAKE_SYSTEM_NAME ist "Haiku" auf Haiku OS.
# ---------------------------------------------------------------------------
if(WIN32)
set(PLATFORM_WINDOWS TRUE)
@@ -37,41 +35,60 @@ endif()
# ---------------------------------------------------------------------------
# Qt6
# ---------------------------------------------------------------------------
find_package(Qt6 REQUIRED COMPONENTS
Core
Gui
Widgets
Concurrent
)
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Concurrent)
qt_standard_project_setup()
# Include cmake modules
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
# Collect sources
add_subdirectory(src)
# ---------------------------------------------------------------------------
# Übersetzungen — lrelease → .qm → ins Build-Verzeichnis
# ---------------------------------------------------------------------------
find_program(LRELEASE_EXECUTABLE
NAMES lrelease lrelease-qt6
HINTS "${Qt6_DIR}/../../../bin"
REQUIRED
)
set(TS_FILES
${CMAKE_CURRENT_SOURCE_DIR}/translations/barecode_de.ts
${CMAKE_CURRENT_SOURCE_DIR}/translations/barecode_en.ts
)
set(QM_FILES)
foreach(TS_FILE ${TS_FILES})
get_filename_component(TS_NAME ${TS_FILE} NAME_WE)
set(QM_FILE "${CMAKE_CURRENT_BINARY_DIR}/translations/${TS_NAME}.qm")
add_custom_command(
OUTPUT "${QM_FILE}"
COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_CURRENT_BINARY_DIR}/translations"
COMMAND ${LRELEASE_EXECUTABLE} "${TS_FILE}" -qm "${QM_FILE}"
DEPENDS "${TS_FILE}"
COMMENT "lrelease: ${TS_NAME}.qm"
VERBATIM
)
list(APPEND QM_FILES "${QM_FILE}")
endforeach()
add_custom_target(BareCode_translations ALL DEPENDS ${QM_FILES})
# ---------------------------------------------------------------------------
# Resources
# ---------------------------------------------------------------------------
qt_add_resources(BARECODE_RESOURCES resources/resources.qrc)
# ---------------------------------------------------------------------------
# Executable
# Unter Windows: .rc-Datei für EXE-Icon einbinden
# ---------------------------------------------------------------------------
if(PLATFORM_WINDOWS)
qt_add_executable(BareCode
main.cpp
BareCode.rc
${BARECODE_RESOURCES}
)
qt_add_executable(BareCode main.cpp BareCode.rc ${BARECODE_RESOURCES})
else()
qt_add_executable(BareCode
main.cpp
${BARECODE_RESOURCES}
)
qt_add_executable(BareCode main.cpp ${BARECODE_RESOURCES})
endif()
add_dependencies(BareCode BareCode_translations)
target_link_libraries(BareCode PRIVATE
BareCode_Core
BareCode_Editor
@@ -99,7 +116,11 @@ install(FILES LICENSE
DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/barecode
)
# ---- Linux (FreeDesktop) --------------------------------------------------
# .qm-Dateien installieren
install(FILES ${QM_FILES}
DESTINATION ${CMAKE_INSTALL_DATADIR}/BareCode/translations
)
if(PLATFORM_LINUX)
foreach(SIZE 16 32 48 64 128 256 512)
install(FILES resources/icon_${SIZE}.png
@@ -107,35 +128,27 @@ if(PLATFORM_LINUX)
RENAME barecode.png
)
endforeach()
install(FILES BareCode.desktop
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
)
endif()
# ---- Haiku ----------------------------------------------------------------
# Haiku verwendet kein FreeDesktop-System. Icons und MIME-Typen werden
# nativ über 'mimeset' gesetzt. Die PNG-Icons legen wir in den
# Haiku-typischen Pfad, ein post-install Skript ruft mimeset auf.
if(PLATFORM_HAIKU)
install(FILES resources/icon_256.png
DESTINATION ${CMAKE_INSTALL_DATADIR}/BareCode
RENAME BareCode.png
)
# mimeset nach der Installation ausführen um MIME-Typ zu registrieren
install(CODE "
execute_process(
COMMAND mimeset -f \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/BareCode\"
RESULT_VARIABLE _mimeset_result
)
if(NOT _mimeset_result EQUAL 0)
message(WARNING \"mimeset konnte nicht ausgeführt werden MIME-Typ muss manuell gesetzt werden.\")
message(WARNING \"mimeset konnte nicht ausgeführt werden.\")
endif()
")
endif()
# ---- macOS ----------------------------------------------------------------
if(PLATFORM_MACOS)
set_target_properties(BareCode PROPERTIES
MACOSX_BUNDLE TRUE
@@ -144,4 +157,3 @@ if(PLATFORM_MACOS)
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION}
)
endif()