2025-09-30 14:56:47 -04:00
|
|
|
cmake_minimum_required(VERSION 3.14)
|
|
|
|
|
project(LogosSDK)
|
|
|
|
|
|
2026-05-07 12:27:14 -03:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
2025-09-30 14:56:47 -04:00
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
2026-06-12 19:56:19 -03:00
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
# logos-cpp-sdk — the Qt-FREE base C++ SDK.
|
|
|
|
|
#
|
|
|
|
|
# After the protocol extraction (logos-protocol) and the Qt split
|
|
|
|
|
# (logos-qt-sdk), what lives here is the standard-C++ developer surface for
|
|
|
|
|
# universal module implementations plus the code generator (built from
|
|
|
|
|
# ../cpp-generator as a separate tool):
|
|
|
|
|
#
|
|
|
|
|
# logos_module_context.h - LogosModuleContext (module identity/context,
|
|
|
|
|
# typed modules() accessor, onContextReady)
|
|
|
|
|
# logos_result.h - StdLogosResult (std/nlohmann result type)
|
|
|
|
|
# logos_json.h - LogosMap/LogosList aliases for impl classes
|
|
|
|
|
#
|
|
|
|
|
# Everything is header-only; the exported target is an INTERFACE library.
|
|
|
|
|
# Qt-typed wrappers, the legacy QObject provider path and the Qt plugin
|
|
|
|
|
# glue live in logos-qt-sdk. Transports, the consumer core and the lp_* C
|
|
|
|
|
# ABI live in logos-protocol.
|
|
|
|
|
# ---------------------------------------------------------------------------
|
2025-09-30 14:56:47 -04:00
|
|
|
|
2026-05-07 12:27:14 -03:00
|
|
|
find_package(nlohmann_json REQUIRED)
|
|
|
|
|
|
2026-06-12 19:56:19 -03:00
|
|
|
add_library(logos_headers INTERFACE)
|
|
|
|
|
target_link_libraries(logos_headers INTERFACE nlohmann_json::nlohmann_json)
|
|
|
|
|
target_include_directories(logos_headers INTERFACE
|
2026-05-07 12:27:14 -03:00
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
|
|
|
$<INSTALL_INTERFACE:include>
|
2025-09-30 14:56:47 -04:00
|
|
|
)
|
|
|
|
|
|
2026-06-12 19:56:19 -03:00
|
|
|
install(TARGETS logos_headers
|
2026-05-07 12:27:14 -03:00
|
|
|
EXPORT logos-cpp-sdkTargets
|
|
|
|
|
INCLUDES DESTINATION include
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
install(EXPORT logos-cpp-sdkTargets
|
|
|
|
|
FILE logos-cpp-sdkTargets.cmake
|
|
|
|
|
NAMESPACE logos-cpp-sdk::
|
|
|
|
|
DESTINATION lib/cmake/logos-cpp-sdk
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
|
configure_package_config_file(
|
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/logos-cpp-sdkConfig.cmake.in"
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/logos-cpp-sdkConfig.cmake"
|
|
|
|
|
INSTALL_DESTINATION lib/cmake/logos-cpp-sdk
|
|
|
|
|
)
|
|
|
|
|
write_basic_package_version_file(
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/logos-cpp-sdkConfigVersion.cmake"
|
2026-06-12 19:56:19 -03:00
|
|
|
VERSION 0.2.0
|
2026-05-07 12:27:14 -03:00
|
|
|
COMPATIBILITY SameMajorVersion
|
|
|
|
|
)
|
|
|
|
|
install(FILES
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/logos-cpp-sdkConfig.cmake"
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/logos-cpp-sdkConfigVersion.cmake"
|
|
|
|
|
DESTINATION lib/cmake/logos-cpp-sdk
|
2025-10-02 16:38:34 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
install(FILES
|
2026-05-19 12:49:15 -03:00
|
|
|
logos_module_context.h
|
2026-04-13 13:29:26 -04:00
|
|
|
logos_json.h
|
2026-06-12 19:21:00 -03:00
|
|
|
logos_result.h
|
2026-06-14 00:47:09 -03:00
|
|
|
logos_lp_client.h
|
2025-10-02 16:38:34 -04:00
|
|
|
DESTINATION include
|
2026-03-23 11:45:25 -04:00
|
|
|
)
|