1# Detect repc when QtRO is installed into non-Qt prefix 2cmd = $${QT.remoteobjects.bins}/repc 3contains(QMAKE_HOST.os, Windows) { 4 cmd = $$system_path($${cmd}.exe) 5} 6exists($$cmd): QT_TOOL.repc.binary = $$cmd 7 8# qtPrepareTool honors QT_TOOL.repc.binary if set 9qtPrepareTool(QMAKE_REPC, repc) 10 11REPC_INCLUDEPATHES = $$QT.remoteobjects.includes 12for (path, REPC_INCLUDEPATHES) { 13 REPC_INCLUDEPATH += -I $$path 14} 15 16isEmpty(QMAKE_MOD_REPC):QMAKE_MOD_REPC = rep_ 17 18repc_TYPE = $$upper($$repc_type) 19 20load(moc) 21 22groups = 23for(entry, REPC_$$repc_TYPE) { 24 files = $$eval($${entry}.files) 25 isEmpty(files) { 26 files = $$entry 27 group = repc_$${repc_type} 28 } else { 29 group = $${entry}_repc_$${repc_type} 30 } 31 groups *= $$group 32 33 input_list = $$upper($$group)_LIST 34 for(subent, $$list($$unique(files))) { 35 $$input_list += $$subent 36 37 # Add directory of *.rep file to include path 38 file_path = $$_PRO_FILE_PWD_/$$subent 39 INCLUDEPATH *= $$dirname(file_path) 40 } 41} 42 43for(group, groups) { 44 GROUP = $$upper($$group) 45 input_list = $${GROUP}_LIST 46 47 $${group}_header.output = $$QMAKE_MOD_REPC${QMAKE_FILE_BASE}_$${repc_type}.h 48 $${group}_header.commands = $$QMAKE_REPC $$repc_option $$REPC_INCLUDEPATH ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} 49 $${group}_header.depends = ${QMAKE_FILE_NAME} $$QT_TOOL.repc.binary 50 $${group}_header.variable_out = $${GROUP}_HEADERS 51 $${group}_header.input = $$input_list 52 53 $${group}_moc.commands = $$moc_header.commands $$REPC_INCLUDEPATH 54 $${group}_moc.output = $$moc_header.output 55 $${group}_moc.input = $${GROUP}_HEADERS 56 $${group}_moc.variable_out = GENERATED_SOURCES 57 !contains(TEMPLATE, vc.*): \ 58 $${group}_moc.name = $$moc_header.name 59 60 QMAKE_EXTRA_COMPILERS += $${group}_header $${group}_moc 61} 62