Verbessere die CMake-Konfiguration zur Unterstützung von C++23, indem die Compiler-Auswahl dynamisch auf GCC 15 oder 13 basiert. Optimiere die Compiler-Flags für Leistung. In der Datenbankabfrage und im DirectorWorker werden konstante Referenzen und string_view verwendet, um die Leistung zu steigern. Reserviere Speicher für Vektoren in main.cpp zur Effizienzsteigerung.

This commit is contained in:
Torsten Schulz (local)
2025-08-31 23:34:02 +02:00
committed by Torsten (PC)
parent 1f43df6d41
commit 4bafc3a61c
7 changed files with 524 additions and 23 deletions

78
build-local.sh Executable file
View File

@@ -0,0 +1,78 @@
#!/bin/bash
# YourPart Daemon Local Build Script für OpenSUSE Tumbleweed
# Führen Sie dieses Script lokal auf Ihrem Entwicklungsrechner aus
set -euo pipefail
# Farben für Output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
log_info() {
echo -e "${BLUE}[INFO]${NC} $1"
}
log_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
log_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
log_info "Starte lokalen Build für YourPart Daemon auf OpenSUSE Tumbleweed..."
# Prüfe ob wir im richtigen Verzeichnis sind
if [ ! -f "CMakeLists.txt" ] || [ ! -f "daemon.conf" ]; then
log_error "Bitte führen Sie dieses Script aus dem Projektverzeichnis aus!"
exit 1
fi
# Prüfe Dependencies
log_info "Prüfe Dependencies..."
if ! command -v cmake &> /dev/null; then
log_error "CMake nicht gefunden. Führen Sie zuerst install-dependencies-opensuse.sh aus!"
exit 1
fi
if ! command -v g++ &> /dev/null; then
log_error "G++ nicht gefunden. Führen Sie zuerst install-dependencies-opensuse.sh aus!"
exit 1
fi
# Erstelle Build-Verzeichnis
log_info "Erstelle Build-Verzeichnis..."
if [ ! -d "build" ]; then
mkdir build
fi
cd build
# Konfiguriere CMake
log_info "Konfiguriere CMake..."
cmake .. -DCMAKE_BUILD_TYPE=Release
# Kompiliere
log_info "Kompiliere Projekt..."
make -j$(nproc)
cd ..
log_success "Lokaler Build abgeschlossen!"
log_info ""
log_info "Build-Ergebnisse:"
log_info "- Binärdatei: build/yourpart-daemon"
log_info "- Größe: $(du -h build/yourpart-daemon | cut -f1)"
log_info ""
log_info "Nächste Schritte:"
log_info "1. Testen Sie die Binärdatei lokal"
log_info "2. Deployen Sie auf den Server mit deploy.sh"
log_info "3. Oder verwenden Sie deploy-server.sh direkt auf dem Server"