Commit 6771263d authored by jan.koester's avatar jan.koester
Browse files

webeditor

parent caf251b3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
out
build
build*
.vs
.cache
blogi.kdev4
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ add_subdirectory(plugins)
add_subdirectory(tests)
add_subdirectory(data)

option(BUILD_EDITOR "Build the Qt desktop editor" OFF)
option(BUILD_EDITOR "Build the web-based editor" OFF)
if(BUILD_EDITOR)
    add_subdirectory(editor)
endif()

editor/CMakeLists.txt

0 → 100644
+75 −0
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 3.18)

project(blogi-editor)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# When built standalone, add parent cmake module path
if(NOT TARGET blogidev)
    list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../cmake)
    find_package(libnetplus REQUIRED)
    find_package(libhtmlpp REQUIRED)
    find_package(libcmdplus REQUIRED)
    find_package(libhttppp REQUIRED)
    find_package(libconfplus REQUIRED)
    find_package(libdbpp REQUIRED)
    find_package(json-c REQUIRED)
    find_package(tinyxml2 REQUIRED)
    find_package(libuuidp REQUIRED)
    find_package(authdb REQUIRED)
    find_package(smtpclient REQUIRED)
    find_package(Brotli REQUIRED)
    find_package(paritypp REQUIRED)

    add_definitions(-D${CMAKE_HOST_SYSTEM_NAME} -DWIN32_LEAN_AND_MEAN)
endif()

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)

include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}/../src
    ${CMAKE_CURRENT_BINARY_DIR}
)

add_executable(blogi-editor
    src/main.cpp
    src/webedit_config.cpp
    src/webedit_db.cpp
    src/webedit_session.cpp
    src/webedit_server.cpp
    src/webedit_api.cpp
)

if(TARGET blogidev)
    target_link_libraries(blogi-editor
        blogidev
        json-c::json-c
        tinyxml2::tinyxml2
    )
else()
    # Standalone build: compile needed plugin.cpp from blogi src
    target_sources(blogi-editor PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/../src/plugin.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../src/conf.cpp
    )
    target_link_libraries(blogi-editor
        httppp::httppp
        netplus::netplus
        htmlpp::htmlpp
        confplus::confplus
        dbpp::dbpp
        json-c::json-c
        tinyxml2::tinyxml2
        uuidp::uuidp
        authdb::client
        Brotli::Brotli
        dl
    )
endif()

add_subdirectory(widgets)

install(TARGETS blogi-editor DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY html/ DESTINATION ${CMAKE_INSTALL_DATADIR}/blogi-editor/html)
install(FILES config.yaml DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/blogi-editor)

editor/config.h.in

0 → 100644
+4 −0
Original line number Diff line number Diff line
#pragma once

#define WEBEDIT_VERSION "@PROJECT_VERSION@"
#define WEBEDIT_NAME "blogi-webedit"

editor/config.yaml

0 → 100644
+17 −0
Original line number Diff line number Diff line
WEBEDIT:
  HTTP:
    BIND: "0.0.0.0"
    PORT: 8090
    MAXCON: 256
  SSL:
    CERT: ""
    KEY: ""
    PASSWORD: ""
  DATABASE:
    DRIVER: "sqlite"
    CONNECTION: "/var/lib/blogi-webedit/webedit.db"
  PLUGINDIR:
    - "/usr/local/lib/blogi/webedit-plugins"
    - "../build/editor/widgets"
  HTMLDIR: "/usr/local/share/blogi-webedit/html"
  PREFIX: ""
Loading