Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/CMakeLists.txt
T
torstenandCopilot ce154f6a1d Configure release build for first Qt6 release (TetraIF, Z, Lts/Common)
- Add RELEASE_BUILD CMake option to control release scope
- Modify main CMakeLists.txt to conditionally build only release modules
- Modify Lts/CMakeLists.txt to only include Lts/Common when RELEASE_BUILD=ON
- Modify Lts/Common/CMakeLists.txt to exclude LtsElevation (depends on Lts/Viewer/SituationMap)
- Update new_docker_build.sh defaults for release:
  - RELEASE_BUILD=ON (default)
  - BUILD_RTI=OFF (avoids Lts/Services/GROUP1 dependency)
  - BUILD_GROUP3=ON (TetraIF), BUILD_GROUP5=ON (Z), BUILD_GROUP11=ON (Lts/Common)
  - All other BUILD_GROUP* variables OFF
- Add RELEASE_BUILD to Docker environment exports and CMake invocation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-07 09:02:30 +00:00

67 lines
2.6 KiB
CMake

#
# $Id$
# $HeadURL$
# $Author$
#
cmake_minimum_required(VERSION 3.16)
project(LtsPlaceholder)
SET(DOXYGEN_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doxygen_Lts)
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 only existing subdirectories to allow partial checkouts / incremental migration
if(RELEASE_BUILD)
# For first release: only build Lts/Common (excludes Tools, Application, DDS, Services, Proxies, Plugins, Viewer, Projects)
message(STATUS "RELEASE_BUILD=ON: Building only Lts/Common")
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Common")
NGL_ADD_SUBDIR_GUARDED(Common)
else()
message(STATUS "Skipping missing Lts subdirectory: Common")
endif()
else()
set(LTS_SUBDIRS Tools Application DDS Common Services Proxies Plugins Viewer Projects)
foreach(dir IN LISTS LTS_SUBDIRS)
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dir}")
# Use guarded add so top-level MIGRATE_MODULE can restrict which Lts subdirs are included
NGL_ADD_SUBDIR_GUARDED(${dir})
else()
message(STATUS "Skipping missing Lts subdirectory: ${dir}")
endif()
endforeach()
endif()
IF (BUILD_TESTING)
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Tests")
ADD_SUBDIRECTORY(Tests)
else()
message(STATUS "Skipping missing Tests directory under Lts (BUILD_TESTING is ON)")
endif()
ENDIF()
OPTION(BUILD_DOCS "Build documentation as html files from Lts/Documentation" OFF)
IF (BUILD_DOCS)
ADD_SUBDIRECTORY(Documentation)
ENDIF()
# Ensure codegen macros are available before calling CODEGEN_* helpers
INCLUDE(MacroCodeGenIdl)
# Add stub headers for non-RTI/non-FilterManagement builds
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/AudioVideoManagement/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/NGLLogger/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/LtsSession/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/TopicEditorBase/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/OperatorManagement/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/LtsScriptTimeline/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/LtsUtilsGuiDds/)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include/Services/PresentationManagement/)
CODEGEN_WRITE_SERVICEFILE_INFO()