Files

30 lines
1.4 KiB
CMake
Raw Permalink Normal View History

2026-04-24 22:45:29 -03:00
cmake_minimum_required(VERSION 3.14)
project(TestBasicModuleCppPlugin LANGUAGES CXX)
if(DEFINED ENV{LOGOS_MODULE_BUILDER_ROOT})
include($ENV{LOGOS_MODULE_BUILDER_ROOT}/cmake/LogosModule.cmake)
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/LogosModule.cmake")
include(cmake/LogosModule.cmake)
else()
message(FATAL_ERROR "LogosModule.cmake not found")
endif()
# Universal module: `interface: "universal"` in metadata.json makes the builder
# run three codegen steps in preConfigure —
# logos-cpp-generator --header-to-lidl src/<impl>.h -> generated_code/<name>.lidl
# logos-qt-host-generator --lidl <name>.lidl --backend cdylib
# -> <name>_cdylib_glue.{h,cpp}
# logos-cpp-generator --lidl <name>.lidl --backend cdylib
# -> <name>_module_impl.cpp, <name>_types.h,
# <name>_events_cdylib.cpp (typed event emitters)
# — and LogosModule.cmake picks all of them up from generated_code/ automatically —
# no loader / dispatch source needs to live here.
# (The Qt glue comes from logos-plugin-qt's logos-qt-host-generator, not from
# logos-cpp-generator; logos-cpp-generator's own `--backend qt` was removed.)
2026-04-24 22:45:29 -03:00
logos_module(
NAME test_basic_module_cpp
SOURCES
src/test_basic_module_cpp_impl.h
src/test_basic_module_cpp_impl.cpp
)