# Detect repc when QtRO is installed into non-Qt prefix cmd = $${QT.remoteobjects.bins}/repc contains(QMAKE_HOST.os, Windows) { cmd = $$system_path($${cmd}.exe) } exists($$cmd): QT_TOOL.repc.binary = $$cmd # qtPrepareLibExecTool honors QT_TOOL.repc.binary if set qtPrepareLibExecTool(QMAKE_REPC, repc) REPC_INCLUDEPATHES = $$QT.remoteobjects.includes for (path, REPC_INCLUDEPATHES) { REPC_INCLUDEPATH += -I $$path } isEmpty(QMAKE_MOD_REPC):QMAKE_MOD_REPC = rep_ repc_TYPE = $$upper($$repc_type) load(moc) groups = for(entry, REPC_$$repc_TYPE) { files = $$eval($${entry}.files) isEmpty(files) { files = $$entry group = repc_$${repc_type} } else { group = $${entry}_repc_$${repc_type} } groups *= $$group input_list = $$upper($$group)_LIST json_list = $$upper($$group)_JSONLIST for(subent, $$list($$unique(files))) { if (contains(subent, .*\\.h$)|contains(subent, .*\\.hpp$)) { $$json_list += $$subent } else { $$input_list += $$subent } # Add directory of *.rep file to include path file_path = $$_PRO_FILE_PWD_/$$subent INCLUDEPATH *= $$dirname(file_path) } } for(group, groups) { GROUP = $$upper($$group) input_list = $${GROUP}_LIST json_list = $${GROUP}_JSONLIST qtPrepareLibExecTool(MOC_CREATE_JSON, moc) $${group}_moc_json.output = ${QMAKE_FILE_BASE}.json $${group}_moc_json.CONFIG = no_link moc_verify $${group}_moc_json.commands = $$MOC_CREATE_JSON -o ${QMAKE_FILE_BASE} ${QMAKE_FILE_NAME} --output-json $${group}_moc_json.depends = ${QMAKE_FILE_NAME} $${group}_moc_json.input = $$json_list $${group}_moc_json.variable_out = MOC_JSON $${group}_header.output = $$QMAKE_MOD_REPC${QMAKE_FILE_BASE}_$${repc_type}.h $${group}_header.commands = $$QMAKE_REPC $$repc_option $$REPC_INCLUDEPATH ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} $${group}_header.depends = ${QMAKE_FILE_NAME} $$QT_TOOL.repc.binary $${group}_header.variable_out = $${GROUP}_HEADERS $${group}_header.input = $$input_list MOC_JSON $${group}_moc.commands = $$moc_header.commands $$REPC_INCLUDEPATH $${group}_moc.output = $$moc_header.output $${group}_moc.input = $${GROUP}_HEADERS $${group}_moc.variable_out = GENERATED_SOURCES !contains(TEMPLATE, vc.*): \ $${group}_moc.name = $$moc_header.name QMAKE_EXTRA_COMPILERS += $${group}_moc_json $${group}_header $${group}_moc }