diff --git a/Lts/CMakeLists.txt b/Lts/CMakeLists.txt index f75cff26c..b6b350b04 100644 --- a/Lts/CMakeLists.txt +++ b/Lts/CMakeLists.txt @@ -7,19 +7,24 @@ cmake_minimum_required(VERSION 3.16) project(LtsPlaceholder) SET(DOXYGEN_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doxygen_Lts) -ADD_DOXYGEN_TARGET(Lts ${CMAKE_SOURCE_DIR}/doxygen/DoxyfileLts.in ${CMAKE_BINARY_DIR}/DoxyfileLts - ${CMAKE_SOURCE_DIR}/doxygen/rheinmetall_defence_logo.jpg - ${DOXYGEN_OUT_DIR}) +if (EXISTS "${CMAKE_SOURCE_DIR}/doxygen/DoxyfileLts.in") + ADD_DOXYGEN_TARGET(Lts ${CMAKE_SOURCE_DIR}/doxygen/DoxyfileLts.in ${CMAKE_BINARY_DIR}/DoxyfileLts + ${CMAKE_SOURCE_DIR}/doxygen/rheinmetall_defence_logo.jpg + ${DOXYGEN_OUT_DIR}) +else() + message(WARNING "Doxygen config ${CMAKE_SOURCE_DIR}/doxygen/DoxyfileLts.in not found; skipping ADD_DOXYGEN_TARGET(Lts)") +endif() -ADD_SUBDIRECTORY(Tools) -ADD_SUBDIRECTORY(Application) -ADD_SUBDIRECTORY(Common) -ADD_SUBDIRECTORY(DDS) -ADD_SUBDIRECTORY(Plugins) -ADD_SUBDIRECTORY(Projects) -ADD_SUBDIRECTORY(Proxies) -ADD_SUBDIRECTORY(Services) -ADD_SUBDIRECTORY(Viewer) +# Add only existing subdirectories to allow partial checkouts / incremental migration +set(LTS_SUBDIRS Tools Application Common DDS Plugins Projects Proxies Services Viewer) +foreach(dir IN LISTS LTS_SUBDIRS) + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dir}") + ADD_SUBDIRECTORY(${dir}) + else() + message(STATUS "Skipping missing Lts subdirectory: ${dir}") + endif() + +endforeach() IF (BUILD_TESTING) ADD_SUBDIRECTORY(Tests) diff --git a/Lts/Common/CodeGen/CMakeLists.txt b/Lts/Common/CodeGen/CMakeLists.txt index a08b3948c..efab5366d 100755 --- a/Lts/Common/CodeGen/CMakeLists.txt +++ b/Lts/Common/CodeGen/CMakeLists.txt @@ -4,7 +4,7 @@ # $Author$ # -FIND_PACKAGE(RTI REQUIRED) +FIND_PACKAGE(RTI) FIND_PACKAGE(Grantlee5 REQUIRED) NGL_ADD_LIBRARY(ALL codegen_base SHARED @@ -27,12 +27,20 @@ NGL_TARGET_LINK_LIBRARIES(codegen_base NGL_TARGET_INCLUDE_DIRECTORIES(codegen_base PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ - $ -) -NGL_TARGET_COMPILE_DEFINITIONS(codegen_base - PUBLIC - $ ) +# If RTI target is available, propagate its include dirs/compile defs +if (TARGET RTI::nddscpp2) + NGL_TARGET_INCLUDE_DIRECTORIES(codegen_base + PUBLIC + $ + ) + NGL_TARGET_COMPILE_DEFINITIONS(codegen_base + PUBLIC + $ + ) +else() + message(STATUS "RTI not found; building codegen_base without RTI include/compile definitions") +endif() NGL_INSTALL_TARGET(codegen_base) NGL_ADD_LIBRARY(ALL codegen_grantlee STATIC