# # @RDE_HEADER@ # $Revision$ # $Date$ # $Id$ # # Created by Hanna E. Rathje, SLSE, 2015-08-24 # # # PURPOSE: # -------- # RTIDDSGEN(srcList infile) - Erzeugen von Source- und Headerfiles aus # einer .idl - Datei mittels rtiddsgen # # MACRO(RTIDDSGEN srcList infile) FIND_PACKAGE(RTI REQUIRED) SET(input ${infile}) IF(NOT IS_ABSOLUTE ${input}) SET(input "${CMAKE_CURRENT_BINARY_DIR}/${input}") ENDIF() GET_FILENAME_COMPONENT(output ${infile} NAME_WE) GET_FILENAME_COMPONENT(input ${input} ABSOLUTE) #MESSAGE(STATUS "infile: ${infile}") #MESSAGE(STATUS "input: ${input}") SET(_ddsgen_args "") SET(output_cxx ${CMAKE_CURRENT_BINARY_DIR}/${output}.cxx ${CMAKE_CURRENT_BINARY_DIR}/${output}Plugin.cxx ) SET(output_hpp ${CMAKE_CURRENT_BINARY_DIR}/${output}.hpp ${CMAKE_CURRENT_BINARY_DIR}/${output}Plugin.hpp ) #MESSAGE(STATUS "output_cxx: ${output_cxx}") #MESSAGE(STATUS "output_h: ${output_h}") ADD_CUSTOM_COMMAND(OUTPUT ${output_cxx} ${output_hpp} COMMAND ${CMAKE_COMMAND} ARGS -E remove ${output_cxx} COMMAND ${RTI_DDSGEN_EXECUTABLE} ARGS -language "C++11" ARGS -unboundedSupport ARGS -verbosity 2 ARGS -update typefiles ARGS -stl ARGS -d ${CMAKE_CURRENT_BINARY_DIR} ARGS -inputIdl ${input} ARGS -I ${CMAKE_CURRENT_BINARY_DIR} ARGS -I ${CMAKE_CURRENT_BINARY_DIR}/../ ARGS -I ${CMAKE_CURRENT_BINARY_DIR}/../../ ARGS -I ${CMAKE_CURRENT_SOURCE_DIR} ARGS -I ${CMAKE_CURRENT_SOURCE_DIR}/../ ARGS -I ${CMAKE_CURRENT_SOURCE_DIR}/../../ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${input} ${ARGN} ) IF(WIN32) SET_SOURCE_FILES_PROPERTIES(${output_cxx} PROPERTIES COMPILE_FLAGS "-DNDDS_USER_DLL_EXPORT") ELSE() SET_SOURCE_FILES_PROPERTIES(${output_cxx} PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE) ENDIF() LIST(APPEND ${srcList} ${output_cxx} ${output_hpp}) #MESSAGE(STATUS "srcList: ${${output_h}}") ENDMACRO()