Bare PHP behind FrankenPHP plus a Qt/QML host that spawns it. GET /api/ping publishes a Mercure event; the QML window receives it back over the SSE stream. Findings (Caddy directive ordering, Mercure transport scalar, PR_SET_PDEATHSIG for child cleanup, PHP 8.5 curl_close deprecation, port collision with system FrankenPHP, pure-QML SSE viability) are recorded in spike/README.md so Phase 1 starts from a known-good baseline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
564 B
CMake
30 lines
564 B
CMake
cmake_minimum_required(VERSION 3.21)
|
|
project(php_qml_spike LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
find_package(Qt6 6.5 REQUIRED COMPONENTS Core Gui Quick QuickControls2 Network Qml)
|
|
|
|
qt_standard_project_setup(REQUIRES 6.5)
|
|
|
|
qt_add_executable(spike main.cpp)
|
|
|
|
qt_add_qml_module(spike
|
|
URI Spike
|
|
VERSION 1.0
|
|
QML_FILES
|
|
Main.qml
|
|
Mercure.qml
|
|
)
|
|
|
|
target_link_libraries(spike PRIVATE
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Quick
|
|
Qt6::QuickControls2
|
|
Qt6::Network
|
|
Qt6::Qml
|
|
)
|