diff --git a/.gitignore b/.gitignore index d118476..c8558c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .git/* build/* +logs/*.log diff --git a/CMakeLists.txt.old b/CMakeLists.txt.old new file mode 100644 index 0000000..6a223f8 --- /dev/null +++ b/CMakeLists.txt.old @@ -0,0 +1,71 @@ +cmake_minimum_required(VERSION 3.5) + +project(singlechat.wt LANGUAGES CXX) +add_compile_options(-Wno-deprecated-declarations) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_COMPILER "/usr/bin/g++-12") +set(CMAKE_PREFIX_PATH "/usr") + +# Set default build type if not specified +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + +# Set compiler flags based on build type +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + add_compile_options(-g) +else() + add_compile_options(-O2) +endif() + +add_executable(${PROJECT_NAME} + src/main.cpp + src/broadcast.h src/broadcast.cpp + src/app.h src/app.cpp + docroot/text.xml + docroot/ads.txt + docroot/links.csv +) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) + +find_package(Threads REQUIRED) + +target_link_libraries(${PROJECT_NAME} + wt + wthttp + curl + xml2 + ${CMAKE_THREAD_LIBS_INIT} +) + +find_package(Boost COMPONENTS system filesystem REQUIRED) +if(UNIX) + # Ubuntu-spezifische Include-Verzeichnisse + find_package(PkgConfig) + pkg_check_modules(XML2 libxml-2.0) + if(XML2_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE /usr/include/GraphicsMagick ${XML2_INCLUDE_DIRS}) + endif() +elseif(EXISTS "/etc/os-release" AND ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")) + # Tumbleweed-spezifische Include-Verzeichnisse + target_include_directories(${PROJECT_NAME} PRIVATE /usr/include/GraphicsMagick) +endif() + +if(Boost_FOUND) + include_directories(${Boost_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} GraphicsMagick++ GraphicsMagick) +endif() + +include(GNUInstallDirs) + +install(TARGETS ${PROJECT_NAME} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION /opt/ypchat/bin +) +install(DIRECTORY docroot/ + DESTINATION /opt/ypchat/docroot +) +install(CODE "file(MAKE_DIRECTORY /opt/ypchat/logs)") +install(CODE "execute_process(COMMAND chmod 777 /opt/ypchat/logs)") diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user index 5673e9a..6c5d833 100644 --- a/CMakeLists.txt.user +++ b/CMakeLists.txt.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -81,9 +81,6 @@ true - - true - @@ -97,15 +94,12 @@ 0 0 - Debug + Release false - -DCMAKE_GENERATOR:STRING=Ninja --DCMAKE_BUILD_TYPE:STRING=Debug --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake + -DCMAKE_GENERATOR:STRING=Ninja Multi-Config -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} +-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} /home/torsten/Programs/SingleChat/build @@ -153,13 +147,10 @@ Release false - -DCMAKE_GENERATOR:STRING=Ninja --DCMAKE_BUILD_TYPE:STRING=Release --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake + -DCMAKE_GENERATOR:STRING=Ninja Multi-Config -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} - /home/torsten/Programs/build-SingleChat-Desktop-Release +-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} + /home/torsten/Programs/SingleChat/../build-SingleChat-Desktop @@ -204,13 +195,10 @@ RelWithDebInfo false - -DCMAKE_GENERATOR:STRING=Ninja --DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake + -DCMAKE_GENERATOR:STRING=Ninja Multi-Config -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} - /home/torsten/Programs/build-SingleChat-Desktop-RelWithDebInfo +-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} + /home/torsten/Programs/SingleChat/../build-SingleChat-Desktop @@ -255,14 +243,11 @@ RelWithDebInfo false - -DCMAKE_GENERATOR:STRING=Ninja --DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake + -DCMAKE_GENERATOR:STRING=Ninja Multi-Config -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} +-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} 0 - /home/torsten/Programs/build-SingleChat-Desktop-Profile + /home/torsten/Programs/SingleChat/../build-SingleChat-Desktop @@ -307,13 +292,10 @@ MinSizeRel false - -DCMAKE_GENERATOR:STRING=Ninja --DCMAKE_BUILD_TYPE:STRING=MinSizeRel --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake + -DCMAKE_GENERATOR:STRING=Ninja Multi-Config -DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} - /home/torsten/Programs/build-SingleChat-Desktop-MinSizeRel +-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable} + /home/torsten/Programs/SingleChat/../build-SingleChat-Desktop @@ -379,13 +361,13 @@ singlechat.wt CMakeProjectManager.CMakeRunConfiguration.singlechat.wt singlechat.wt - --docroot="../docroot/;/style.css,/resources" --http-port=4500 --http-address=0.0.0.0 + --docroot="../../docroot" --http-address=0.0.0.0 --http-port=5050 false true true false true - /home/torsten/Programs/SingleChat/build + /home/torsten/Programs/SingleChat/build/Release 1 diff --git a/docroot/links.csv b/docroot/links.csv index 2ebad6a..798710a 100644 --- a/docroot/links.csv +++ b/docroot/links.csv @@ -1,3 +1,4 @@ "Page Name","url" "Webtoolkit","https://www.webtoolkit.eu" -"Your Part","https://your-part.de" +"Trainingstagebuch","https://www.tt-tagebuch.de" +"Social Network 'YourPart'","https://www.your-part.de"