1include(AddFileDependencies) 2 3 4macro(add_td_sources srcs) 5 file(GLOB tds *.td) 6 if( tds ) 7 source_group("TableGen descriptions" FILES ${tds}) 8 set_source_files_properties(${tds} PROPERTIES HEADER_FILE_ONLY ON) 9 list(APPEND ${srcs} ${tds}) 10 endif() 11endmacro(add_td_sources) 12 13 14macro(add_header_files srcs) 15 file(GLOB hds *.h) 16 if( hds ) 17 set_source_files_properties(${hds} PROPERTIES HEADER_FILE_ONLY ON) 18 list(APPEND ${srcs} ${hds}) 19 endif() 20endmacro(add_header_files) 21 22 23function(llvm_process_sources OUT_VAR) 24 set( sources ${ARGN} ) 25 # Create file dependencies on the tablegenned files, if any. Seems 26 # that this is not strictly needed, as dependencies of the .cpp 27 # sources on the tablegenned .inc files are detected and handled, 28 # but just in case... 29 foreach( s ${sources} ) 30 set( f ${CMAKE_CURRENT_SOURCE_DIR}/${s} ) 31 add_file_dependencies( ${f} ${TABLEGEN_OUTPUT} ) 32 endforeach(s) 33 if( MSVC_IDE ) 34 # This adds .td and .h files to the Visual Studio solution: 35 add_td_sources(sources) 36 add_header_files(sources) 37 endif() 38 set( ${OUT_VAR} ${sources} PARENT_SCOPE ) 39endfunction(llvm_process_sources) 40