diff --git a/qt6-after/qt6-migrated-legatus/cmake/MacroCodeGenIdl.cmake b/qt6-after/qt6-migrated-legatus/cmake/MacroCodeGenIdl.cmake index 8785d057c..4f540b1fa 100755 --- a/qt6-after/qt6-migrated-legatus/cmake/MacroCodeGenIdl.cmake +++ b/qt6-after/qt6-migrated-legatus/cmake/MacroCodeGenIdl.cmake @@ -164,32 +164,26 @@ MACRO(INSTALL_SHARED_FILES srcList) ENDMACRO() MACRO(CODEGEN_SQL srcList xmlFile_in) - IF(BUILD_GRANTLEE) - _GET_SERVICENAME( "${xmlFile_in}" svcNameOut ) - SET(out_dir_sql "${CMAKE_BINARY_DIR}/share/Lts/sql/") - SET(out_file_sql "${out_dir_sql}/${svcNameOut}.sql") - SET(action "SQL") - SET(_cg $) - ADD_CUSTOM_COMMAND(OUTPUT ${out_file_sql} - COMMAND ${CMAKE_COMMAND} - ARGS -E make_directory ${out_dir_sql} - COMMAND ${CMAKE_COMMAND} -E env QT_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/ktexttemplate ${_cg} - ARGS -s ${xmlFile_in} - -a ${action} - -o ${out_dir_sql} - -i ${CMAKE_BINARY_DIR}/service_idl_files.txt - DEPENDS ${_cg} ${xmlFile_in} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - LIST(APPEND ${srcList} ${out_file_sql}) + _GET_SERVICENAME( "${xmlFile_in}" svcNameOut ) + SET(out_dir_sql "${CMAKE_BINARY_DIR}/share/Lts/sql/") + SET(out_file_sql "${out_dir_sql}/${svcNameOut}.sql") + SET(action "SQL") + SET(_cg $) + ADD_CUSTOM_COMMAND(OUTPUT ${out_file_sql} + COMMAND ${CMAKE_COMMAND} + ARGS -E make_directory ${out_dir_sql} + COMMAND ${CMAKE_COMMAND} -E env QT_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/ktexttemplate ${_cg} + ARGS -s ${xmlFile_in} + -a ${action} + -o ${out_dir_sql} + -i ${CMAKE_BINARY_DIR}/service_idl_files.txt + DEPENDS ${_cg} ${xmlFile_in} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + LIST(APPEND ${srcList} ${out_file_sql}) - - NGL_INSTALL(SV AAR FILES ${out_file_sql} DESTINATION share/Lts/sql) - ELSE() - # BUILD_GRANTLEE disabled: skip SQL generation - # SQL files will not be generated; modules may need pre-generated SQL files - MESSAGE(STATUS "BUILD_GRANTLEE disabled: skipping SQL generation for ${xmlFile_in}") - ENDIF() + + NGL_INSTALL(SV AAR FILES ${out_file_sql} DESTINATION share/Lts/sql) ENDMACRO() MACRO(CODEGEN_HANDLE_SVC_XML srcList xmlFile_in) @@ -224,60 +218,18 @@ MACRO(CODEGEN_IDL_SVC srcList xmlFile_in) "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.cpp" "${CMAKE_CURRENT_BINARY_DIR}/${svcNameOut}_translation.h") - 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() + 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}) CODEGEN_HANDLE_SVC_XML(${srcList} ${xmlFile_in}) ENDMACRO() @@ -336,111 +288,78 @@ MACRO(CODEGEN_CLIENT_TOPICS_IFC srcList xmlFile_in) SET(_CST_PARTS "DTC" "FTC") ENDIF() - # 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})") + 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() - 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})") + 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() - ENDFOREACH() - _CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files) - 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) ENDMACRO() MACRO(CODEGEN_CLIENT_TOPICS_IMPL srcList xmlFile_in) - # 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}) + 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})") - ENDIF() - ENDFOREACH() - _CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files) + _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})") + ENDIF() + ENDFOREACH() + _CODEGEN_ACTION("DDS_TOPICS" ${srcList} "${xmlFile_in}" in_files out_files) ENDMACRO() MACRO(CODEGEN_SERVER_TOPICS srcList xmlFile_in)