diff options
Diffstat (limited to 'tools/qmake/mkspecs/features/gn_generator.prf')
-rw-r--r-- | tools/qmake/mkspecs/features/gn_generator.prf | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/tools/qmake/mkspecs/features/gn_generator.prf b/tools/qmake/mkspecs/features/gn_generator.prf deleted file mode 100644 index 91c045cfa..000000000 --- a/tools/qmake/mkspecs/features/gn_generator.prf +++ /dev/null @@ -1,244 +0,0 @@ -load(moc) -load(resources) - -defineReplace(getTargetType) { - equals(TEMPLATE, "app"):return("executable") - equals(TEMPLATE, "lib") { - CONFIG(static): return("static_library") - return("shared_library") - } - return("none") -} - -defineReplace(filter_flag_values) { - value_to_check = $$1 - macos:equals(value_to_check, "$(EXPORT_ARCH_ARGS)") { - # EXPORT_ARCH_ARGS comes from qtbase/mkspecs/features/mac/default_post.prf which is a way - # to figure out the architectures to pass to the compiler at Makefile time. Because this - # variable expansion is not supported by GN, we filter it out. GN takes care of assigning - # the architecture itself. - return("") - } - return($$value_to_check) -} - -isEmpty(GN_FILE): GN_FILE = $$system_path($$_PRO_FILE_PWD_/BUILD.gn) -isEmpty(GN_RUN_BINARY_SCRIPT): GN_RUN_BINARY_SCRIPT = "//build/gn_run_binary.py" -isEmpty(GN_FIND_MOCABLES_SCRIPT): GN_FIND_MOCABLES_SCRIPT = "//build/gn_find_mocables.py" - -# MOC SETUP - -GN_CONTENTS += "moc_source_h_files = exec_script(\"$$GN_FIND_MOCABLES_SCRIPT\"," -GN_CONTENTS += " [ \"$$_PRO_FILE_PWD_\"," -for (headerfile, HEADERS): GN_CONTENTS += " \"$$GN_SRC_DIR/$$headerfile\"," -GN_CONTENTS += " ], \"list lines\", [\"$$system_path($$_PRO_FILE_)\"]"\ - ")" -GN_CONTENTS += "moc_source_cpp_files = exec_script(\"$$GN_FIND_MOCABLES_SCRIPT\"," -GN_CONTENTS += " [ \"$$_PRO_FILE_PWD_\"," -for (sourcefile, SOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," -GN_CONTENTS += " ], \"list lines\", [\"$$system_path($$_PRO_FILE_)\"]"\ - ")" - -DEFINES_LIST = $$join(DEFINES, " -D", "-D") -INCLUDE_LIST = $$join(INCLUDEPATH, " -I", "-I") - -# we don't generate a moc_predef file yet. -MOC_PREDEF_FILE = -MOC_COMMAND = $$clean_path($$mocCmdBase()) -MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(DEFINES)"), $$DEFINES_LIST) -MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(INCPATH)"), $$INCLUDE_LIST) -MOC_COMMAND = $$eval($$list($$MOC_COMMAND)) - -GN_CONTENTS += "if (moc_source_h_files != []) {" -GN_CONTENTS += " action_foreach(\"generate_h_mocs\") {"\ - " script = \"$$GN_RUN_BINARY_SCRIPT\"" -GN_CONTENTS += " sources = moc_source_h_files" \ - " outputs = [ \"$target_gen_dir/.moc/moc_{{source_name_part}}.cpp\" ]" -GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ - " args = [" -for(token, MOC_COMMAND): GN_CONTENTS += " \"$$replace(token,\",\\\")\"," -GN_CONTENTS += " \"{{source}}\"," \ - " \"-o\"," \ - " rebase_path(\"$target_gen_dir/.moc/moc_{{source_name_part}}.cpp\")"\ - " ]" -GN_CONTENTS += " }" -GN_CONTENTS += "}" -GN_CONTENTS += "if (moc_source_cpp_files != []) {" -GN_CONTENTS += " action_foreach(\"generate_cpp_mocs\") {"\ - " script = \"$$GN_RUN_BINARY_SCRIPT\"" -GN_CONTENTS += " sources = moc_source_cpp_files" \ - " outputs = [ \"$target_gen_dir/.moc/{{source_name_part}}.moc\" ]" -GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ - " args = [" -for(token, MOC_COMMAND): GN_CONTENTS += " \"$$replace(token,\",\\\")\"," -GN_CONTENTS += " \"{{source}}\"," \ - " \"-o\"," \ - " rebase_path(\"$target_gen_dir/.moc/{{source_name_part}}.moc\")"\ - " ]" -GN_CONTENTS += " }" -GN_CONTENTS += "}" - -# RESOURCES SETUP - -CLEAN_QMAKE_RCC = $$clean_path($$QMAKE_RCC) - -GN_CONTENTS += "action_foreach(\"generate_resources\") {"\ - " script = \"$$GN_RUN_BINARY_SCRIPT\"" -GN_CONTENTS += " sources = [" -for (sourcefile, RESOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," -GN_CONTENTS += " ]" \ - " outputs = [ \"$target_gen_dir/.rcc/qrc_{{source_name_part}}.cpp\" ]" -GN_CONTENTS += " inputs = [ \"$$system_path($$_PRO_FILE_)\" ]" \ - " args = [" \ - " \"$$replace(CLEAN_QMAKE_RCC,\",\\\")\"," -for(resource_flag, $$QMAKE_RESOURCE_FLAGS): GN_CONTENTS += " \"$$resource_flag\"" -GN_CONTENTS += " \"-name\"," \ - " \"{{source_name_part}}\"," \ - " \"{{source}}\"," \ - " \"-o\"," \ - " rebase_path(\"$target_gen_dir/.rcc/qrc_{{source_name_part}}.cpp\")"\ - " ]" -GN_CONTENTS += "}" - -# TARGET SETUP - -TARGET_TYPE = $$getTargetType() - -GN_CONTENTS += "$${TARGET_TYPE}(\"$$TARGET\") {" -!isEmpty(GN_CREATE_PRI): GN_CONTENTS += " create_pri_file = $$GN_CREATE_PRI" -!isEmpty(GN_IMPORTS) { -for (imp, GN_IMPORTS): GN_CONTENTS += " import(\"$$imp\")" -} - -!isEmpty(QMAKE_CFLAGS) { - GN_CONTENTS += " cflags = [" - for(flag, QMAKE_CFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," - GN_CONTENTS += " ]" -} - -!isEmpty(QMAKE_FRAMEWORKPATH) { - GN_CONTENTS += " cflags += [" - for(path, QMAKE_FRAMEWORKPATH): GN_CONTENTS += " \"-F$$path\"," - GN_CONTENTS += " ]" -} - -# Stop the barrage of unused variables warnings. -gcc|clang { - QMAKE_CXXFLAGS += "-Wno-unused-parameter" - QMAKE_CXXFLAGS += "-Wno-unused-variable" -} else:msvc { - QMAKE_CXXFLAGS += /wd4100 /wd4101 -} - -!isEmpty(QMAKE_CXXFLAGS) { - GN_CONTENTS += " cflags_cc = [" - for(flag, QMAKE_CXXFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," - GN_CONTENTS += " ]" -} - -GN_CONTENTS += " if (!defined(defines)) {"\ - " defines = []"\ - " }" -GN_CONTENTS += " defines += [" -# Remove single quotes around function macro defines, so that GN doesn't escape them, thus breaking -# the macro. -# Also add a layer of escaping for double quotes. -for (define, DEFINES): { - define = $$replace(define,\",\\\") - define = $$replace(define,\',) - GN_CONTENTS += " \"$$define\"," -} -!isEmpty(QT_SYSROOT) { - !isEmpty(QMAKE_LIBDIR_EGL): - GN_CONTENTS += " \"QT_LIBDIR_EGL=\\\"$${QMAKE_DIR_SEP}$$relative_path($$QMAKE_LIBDIR_EGL, $$[QT_SYSROOT])\\\"\"," - !isEmpty(QMAKE_LIBDIR_OPENGL_ES2) - GN_CONTENTS += " \"QT_LIBDIR_GLES2=\\\"$${QMAKE_DIR_SEP}$$relative_path($$QMAKE_LIBDIR_OPENGL_ES2, $$[QT_SYSROOT])\\\"\"," -} else { - !isEmpty(QMAKE_LIBDIR_EGL): - GN_CONTENTS += " \"QT_LIBDIR_EGL=\\\"$$QMAKE_LIBDIR_EGL\\\"\"," - !isEmpty(QMAKE_LIBDIR_OPENGL_ES2) - GN_CONTENTS += " \"QT_LIBDIR_GLES2=\\\"$$QMAKE_LIBDIR_OPENGL_ES2\\\"\"," -} -GN_CONTENTS += " ]" - -# Source files to compile -GN_CONTENTS += " sources = [" -for (sourcefile, SOURCES): GN_CONTENTS += " \"$$GN_SRC_DIR/$$sourcefile\"," -for (headerfile, HEADERS): GN_CONTENTS += " \"$$GN_SRC_DIR/$$headerfile\"," -GN_CONTENTS += " ]" - -# Add Sources generated by rcc from qrc files. -!isEmpty(RESOURCES): GN_CONTENTS += " sources += get_target_outputs(\":generate_resources\")" - -GN_CONTENTS += " if (!defined(include_dirs)) {"\ - " include_dirs = []"\ - " }" -GN_CONTENTS += " include_dirs += [" -for (path, INCLUDEPATH): GN_CONTENTS += " \"$$path\"," -GN_CONTENTS += " rebase_path(\"$target_gen_dir/.moc/\")" -GN_CONTENTS += " ]" - -GN_CONTENTS += " if (!defined(ldflags)) {"\ - " ldflags = []"\ - " }" -GN_CONTENTS += " ldflags += [" -for (flag, QMAKE_LFLAGS): GN_CONTENTS += " \"$$filter_flag_values($$flag)\"," -for (flag, GN_FLAGS): GN_CONTENTS += " \"$$flag\"," -!isEmpty(QMAKE_RPATHDIR) { - for (rpath, QMAKE_RPATHDIR) { - macos: GN_CONTENTS += " \"-Wl,-rpath,$${rpath}\"," - else:unix: GN_CONTENTS += " \"-Wl,-rpath=$${rpath}\"," - } -} -!isEmpty(QMAKE_RPATHLINKDIR): GN_CONTENTS += " \"-Wl,-rpath-link=$${QMAKE_RPATHLINKDIR}\"," -GN_CONTENTS += " ]" - -GN_CONTENTS += " if (!defined(lib_dirs)) {"\ - " lib_dirs = []"\ - " }" -GN_CONTENTS += " lib_dirs += [" -lib_dirs = $$find(LIBS, ^-L.*) -lib_dirs = $$unique(lib_dirs) -for (lib_dir, lib_dirs): GN_CONTENTS += " \"$$replace(lib_dir, -L, )\"," -GN_CONTENTS += " ]" - -GN_CONTENTS += " if (!defined(libs)) {"\ - " libs = []"\ - " }" -GN_CONTENTS += " libs += [" -for (lib, GN_LIBS): GN_CONTENTS += " \"$$lib\"," -libs = $$find(LIBS, ^-l.*) -libs = $$unique(libs) -for (lib, libs): GN_CONTENTS += " \"$$replace(lib, -l, )\"," -GN_CONTENTS += " ]" - -GN_CONTENTS += " if (!defined(deps)) {"\ - " deps = []"\ - " }" -GN_CONTENTS += " deps += [" -!isEmpty(RESOURCES): GN_CONTENTS += " \":generate_resources\"," -GN_CONTENTS += " ]" -GN_CONTENTS += " if (moc_source_h_files != []) {" -GN_CONTENTS += " deps += [" -GN_CONTENTS += " \":generate_h_mocs\"," -GN_CONTENTS += " ]" -# Add moc output files to compile -GN_CONTENTS += " sources += get_target_outputs(\":generate_h_mocs\")" -GN_CONTENTS += " }" -GN_CONTENTS += " if (moc_source_cpp_files != []) {" -GN_CONTENTS += " deps += [" -GN_CONTENTS += " \":generate_cpp_mocs\"," -GN_CONTENTS += " ]" -GN_CONTENTS += " }" -GN_CONTENTS += "}" -!isEmpty(GN_INCLUDES) { - for (inc, GN_INCLUDES): GN_CONTENTS += $$cat($$inc,lines) -} - -build_pass|!debug_and_release: write_file($$GN_FILE, GN_CONTENTS) - -# The generated Makefile shouldn't build anything by itself, just re-run qmake if necessary -TEMPLATE = aux -SOURCES = -HEADERS = -RESOURCES = |