cmake_minimum_required(VERSION 3.14) project(TestContextModuleCppPlugin 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/.h -> generated_code/.lidl # logos-qt-host-generator --lidl .lidl --backend cdylib # -> _cdylib_glue.{h,cpp} # logos-cpp-generator --lidl .lidl --backend cdylib # -> _module_impl.cpp, _types.h, # _events_cdylib.cpp (typed event emitters) # — and LogosModule.cmake picks all of them up from generated_code/ automatically. # (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.) logos_module( NAME test_context_module_cpp SOURCES src/test_context_module_cpp_impl.h src/test_context_module_cpp_impl.cpp )