blob: 033202e6eab57dc3272104f18b4b1fa9fb27ae1f [file] [log] [blame]
TEMPLATE = aux
option(host_build)
!debug_and_release: CONFIG += release
include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
QT_FOR_CONFIG += buildtools-private
build_pass|!debug_and_release {
!qtConfig(webengine-system-gn): CONFIG(release, debug|release) {
buildgn.target = build_gn
out = $$gnPath()
out_path = $$dirname(out)
!qtConfig(webengine-system-ninja): ninja_path = $$ninjaPath()
else: ninja_path="ninja"
# check if it is not already build
!exists($$out) {
src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
gn_gen_args = --no-last-commit-position --out-path $$out_path \
--cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
--ld \"$$which($$QMAKE_LINK)\"
msvc:!clang_cl: gn_gen_args += --use-lto
gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
macos {
gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
}
message($$gn_configure)
!system("$$pythonPathForSystem() $$gn_configure") {
error("GN generation error!")
}
!system("cd $$system_quote($$system_path($$out_path)) && $$ninja_path $$basename(out)" ) {
error("GN build error!")
}
}
QMAKE_DISTCLEAN += $$out
}
}