Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts.
This commit is contained in:
256 files changed
+1170
-610
No files matched your search
@@ -217,23 +217,67 @@ ENDMACRO()
|
||||
MACRO(CODEGEN_IDL_SVC srcList xmlFile_in)
|
||||
_GET_SERVICENAME( "${xmlFile_in}" svcNameOut )
|
||||
|
||||
SET(in_files "${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc.idl.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_enums.idl.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_json.cpp.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_json.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_translation.cpp.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_translation.h.grantlee"
|
||||
)
|
||||
SET(out_files "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY CODEGEN_IDL_FILES "${out_files}")
|
||||
SET_SOURCE_FILES_PROPERTIES(${out_files} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.cpp"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.cpp"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.h")
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files ${ARGN})
|
||||
|
||||
IF(BUILD_GRANTLEE)
|
||||
SET(in_files "${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc.idl.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_enums.idl.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_json.cpp.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_json.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_translation.cpp.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_translation.h.grantlee"
|
||||
)
|
||||
SET(idl_out_files "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl")
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY CODEGEN_IDL_FILES "${idl_out_files}")
|
||||
SET_SOURCE_FILES_PROPERTIES(${idl_out_files} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files ${ARGN})
|
||||
ELSE()
|
||||
# BUILD_GRANTLEE disabled: use pre-generated files if they exist
|
||||
MESSAGE(STATUS "BUILD_GRANTLEE disabled: checking for pre-generated files for ${svcNameOut}")
|
||||
|
||||
# Check if pre-generated .idl files exist in source directory
|
||||
SET(source_idl "${CMAKE_CURRENT_SOURCE_DIR}/${svcNameOut}.idl")
|
||||
SET(source_idl_enums "${CMAKE_CURRENT_SOURCE_DIR}/${svcNameOut}_enums.idl")
|
||||
|
||||
IF(EXISTS ${source_idl} AND EXISTS ${source_idl_enums})
|
||||
MESSAGE(STATUS "Found pre-generated IDL files for ${svcNameOut}")
|
||||
# Copy pre-generated files to build directory
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${out_files}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${source_idl} ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${source_idl_enums} ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.h
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.h
|
||||
DEPENDS ${source_idl} ${source_idl_enums}
|
||||
COMMENT "Copying pre-generated IDL files for ${svcNameOut}"
|
||||
)
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY CODEGEN_IDL_FILES "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl" "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl")
|
||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
LIST(APPEND ${srcList} ${out_files})
|
||||
ELSE()
|
||||
MESSAGE(WARNING "BUILD_GRANTLEE disabled but no pre-generated IDL files found for ${svcNameOut}. Skipping service.")
|
||||
# Create empty stub files to satisfy CMake
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${out_files}
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_json.h
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.cpp
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.h
|
||||
COMMENT "Creating stub files for ${svcNameOut} (no pre-generated IDL)"
|
||||
)
|
||||
SET_PROPERTY(GLOBAL APPEND PROPERTY CODEGEN_IDL_FILES "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl" "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl")
|
||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}.idl ${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_enums.idl PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
LIST(APPEND ${srcList} ${out_files})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
CODEGEN_HANDLE_SVC_XML(${srcList} ${xmlFile_in})
|
||||
ENDMACRO()
|
||||
@@ -291,75 +335,112 @@ MACRO(CODEGEN_CLIENT_TOPICS_IFC srcList xmlFile_in)
|
||||
IF(NOT _CST_PARTS)
|
||||
SET(_CST_PARTS "DTC" "FTC")
|
||||
ENDIF()
|
||||
SET(in_files "")
|
||||
SET(out_files "")
|
||||
FOREACH(part ${_CST_PARTS})
|
||||
IF(part STREQUAL "DTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc.h.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc.h"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc.h")
|
||||
|
||||
# When BUILD_GRANTLEE=OFF, use pre-generated files from source directory
|
||||
IF(NOT BUILD_GRANTLEE)
|
||||
FOREACH(part ${_CST_PARTS})
|
||||
IF(part STREQUAL "DTC")
|
||||
SET(generated_file "${CMAKE_CURRENT_SOURCE_DIR}/${svcNameOut}_dtc.h")
|
||||
IF(EXISTS "${generated_file}")
|
||||
LIST(APPEND ${srcList} "${generated_file}")
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${generated_file}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Pre-generated file ${generated_file} not found. BUILD_GRANTLEE=OFF requires pre-generated files.")
|
||||
ENDIF()
|
||||
ELSEIF(part STREQUAL "FTC")
|
||||
SET(generated_file "${CMAKE_CURRENT_SOURCE_DIR}/${svcNameOut}_ftc.h")
|
||||
IF(EXISTS "${generated_file}")
|
||||
LIST(APPEND ${srcList} "${generated_file}")
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${generated_file}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Pre-generated file ${generated_file} not found. BUILD_GRANTLEE=OFF requires pre-generated files.")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unkown part argument for CODEGEN_SERVER_TOPICS (${part})")
|
||||
ENDIF()
|
||||
ELSEIF(part STREQUAL "FTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc.h.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc.h"
|
||||
)
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unkown part argument for CODEGEN_SERVER_TOPICS (${part})")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files)
|
||||
ENDFOREACH()
|
||||
ELSE()
|
||||
# Original codegen logic with Grantlee
|
||||
SET(in_files "")
|
||||
SET(out_files "")
|
||||
FOREACH(part ${_CST_PARTS})
|
||||
IF(part STREQUAL "DTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc.h.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc.h"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc.h")
|
||||
ENDIF()
|
||||
ELSEIF(part STREQUAL "FTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc.h.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc.h"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc.h")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unkown part argument for CODEGEN_SERVER_TOPICS (${part})")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files)
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(CODEGEN_CLIENT_TOPICS_IMPL srcList xmlFile_in)
|
||||
SET(options)
|
||||
SET(oneValueArgs)
|
||||
SET(multiValueArgs PARTS)
|
||||
CMAKE_PARSE_ARGUMENTS(_CST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
# Skip code generation when BUILD_GRANTLEE=OFF - use pre-generated files instead
|
||||
IF(BUILD_GRANTLEE)
|
||||
SET(options)
|
||||
SET(oneValueArgs)
|
||||
SET(multiValueArgs PARTS)
|
||||
CMAKE_PARSE_ARGUMENTS(_CST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
_GET_SERVICENAME( "${xmlFile_in}" svcNameOut )
|
||||
IF(NOT _CST_PARTS)
|
||||
SET(_CST_PARTS "DTC" "FTC")
|
||||
ENDIF()
|
||||
SET(in_files "")
|
||||
SET(out_files "")
|
||||
FOREACH(part ${_CST_PARTS})
|
||||
IF(part STREQUAL "DTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc_impl.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc_impl.cpp.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.cpp"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.h")
|
||||
ENDIF()
|
||||
ELSEIF(part STREQUAL "FTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc_impl.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc_impl.cpp.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.cpp"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.h")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unkown part argument for CODEGEN_SERVER_TOPICS (${part})")
|
||||
_GET_SERVICENAME( "${xmlFile_in}" svcNameOut )
|
||||
IF(NOT _CST_PARTS)
|
||||
SET(_CST_PARTS "DTC" "FTC")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files)
|
||||
SET(in_files "")
|
||||
SET(out_files "")
|
||||
FOREACH(part ${_CST_PARTS})
|
||||
IF(part STREQUAL "DTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc_impl.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_dtc_impl.cpp.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.cpp"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_dtc_impl.h")
|
||||
ENDIF()
|
||||
ELSEIF(part STREQUAL "FTC")
|
||||
LIST(APPEND in_files
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc_impl.h.grantlee"
|
||||
"${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen/svc_ftc_impl.cpp.grantlee"
|
||||
)
|
||||
LIST(APPEND out_files
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.h"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.cpp"
|
||||
)
|
||||
IF(NOT POLICY CMP0071)
|
||||
QT6_WRAP_CPP(${srcList} "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_ftc_impl.h")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unkown part argument for CODEGEN_SERVER_TOPICS (${part})")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
_CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files)
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(CODEGEN_SERVER_TOPICS srcList xmlFile_in)
|
||||
|
||||
Reference in new issue
Block a user