e612170b64
For multi-pass RCC qmake generates broken VS project files, because the RCC extra compiler directly calls the C++ compiler on a generated source file. Adding this call to a VS project file will bypass any project settings. Also, the VS project generator is not prepared to add extra compilers that generate object files. Task-number: QTBUG-39685 Change-Id: I1bcaad8936be8371d596f29ed8952888ba95f7b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
qtPrepareTool(QMAKE_RCC, rcc, _DEP)
|
|
|
|
isEmpty(RCC_DIR):RCC_DIR = .
|
|
isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc
|
|
|
|
!contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT
|
|
!contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE}
|
|
|
|
rcc.input = RESOURCES
|
|
rcc.name = RCC ${QMAKE_FILE_IN}
|
|
rcc.depend_command = $$QMAKE_RCC_DEP -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
|
|
rcc.CONFIG += add_inputs_as_makefile_deps
|
|
|
|
resources_small|ltcg|macx-xcode|contains(TEMPLATE, "vc.*") {
|
|
|
|
rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
|
|
rcc.commands = $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
|
rcc.variable_out = SOURCES
|
|
|
|
} else {
|
|
|
|
isEmpty(RCC_CXX):RCC_CXX = $$QMAKE_CXX $(CXXFLAGS)
|
|
RCC_OUT_BASE = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}
|
|
RCC_CPP = $$RCC_OUT_BASE$${first(QMAKE_EXT_CPP)}
|
|
RCC_TMP = $${RCC_OUT_BASE}.tmp$${first(QMAKE_EXT_OBJ)}
|
|
RCC_OBJ = $$RCC_OUT_BASE$${first(QMAKE_EXT_OBJ)}
|
|
|
|
msvc: RCC_CXX_O_FLAG = "-Fo"
|
|
else: RCC_CXX_O_FLAG = "-o "
|
|
|
|
rcc.output = $$RCC_OBJ
|
|
rcc.commands = \
|
|
$$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 1 -o $$RCC_CPP && \
|
|
$$RCC_CXX -c $$RCC_CPP $$RCC_CXX_O_FLAG$$RCC_TMP && \
|
|
$$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 2 -temp $$RCC_TMP -o ${QMAKE_FILE_OUT}
|
|
rcc.clean += $$RCC_CPP $$RCC_TMP
|
|
|
|
}
|
|
|
|
silent:rcc.commands = @echo rcc ${QMAKE_FILE_IN} && $$rcc.commands
|
|
else:rcc.commands ~= s/&&/$$escape_expand(\\n\\t)/g
|
|
QMAKE_EXTRA_COMPILERS += rcc
|