739910bf11ff2b03812f3f2b0704b0c952d7d028
[WebKit-https.git] / Tools / qmake / mkspecs / features / default_pre.prf
1 # -------------------------------------------------------------------
2 # QtWebKit defaults for qmake. These rules are parsed before the
3 # actual project file.
4 #
5 # See 'Tools/qmake/README' for an overview of the build system
6 # -------------------------------------------------------------------
7
8 # Allow environment tweaks to pre-loaded .qmake.cache content
9 env_cache = $$(QMAKE_CACHE_EVAL)
10 eval($$env_cache)
11
12 load(functions)
13
14 # Derived sources often need QMAKE_MOC
15 load(qt_functions)
16 load(moc)
17
18 # FIXME: In this case we probably want to exit early so that we
19 # don't load all of the custom build tweaks needlessly.
20 pro_file = $$_PRO_FILE_ # Checking the variable directly does not work
21 isEmpty(pro_file): CONFIG += recursive_include
22
23 # Resolve root directories for source and build
24 ROOT_WEBKIT_DIR = $$replace(PWD, /Tools/qmake/mkspecs/features$,)
25 WEBKIT_SUBDIR = $$replace(_PRO_FILE_PWD_, $${ROOT_WEBKIT_DIR},)
26 ROOT_BUILD_DIR = $$replace(OUT_PWD, $${WEBKIT_SUBDIR}$,)
27
28 # The qmake generated module files belong into our Tools/qmake dir
29 MODULE_QMAKE_OUTDIR = $$ROOT_BUILD_DIR/Tools/qmake
30
31 # Now we're ready to load default_pre from Qt
32 load(default_pre)
33
34 equals(OUT_PWD, $${ROOT_BUILD_DIR}) {
35     !recursive_include:CONFIG += root_project_file
36     BUILD_ROOT_RELATIVE_TO_OUT_PWD = .
37 } else {
38     subdir_parts = $$replace(OUT_PWD, ^$${ROOT_BUILD_DIR}/,)
39     subdir_parts = $$split(subdir_parts, /)
40     for(subdir, subdir_parts) {
41         BUILD_ROOT_RELATIVE_TO_OUT_PWD += ..
42     }
43     BUILD_ROOT_RELATIVE_TO_OUT_PWD = $$join(BUILD_ROOT_RELATIVE_TO_OUT_PWD, /)
44 }
45
46 # Try to detect if we're running under Windows cmd.exe or not
47 win32* {
48     pwd = $$(PWD) # Normally empty for cmd.exe
49     pwd_starts_with_slash = $$find(pwd, ^/)
50     isEmpty(pwd_starts_with_slash): CONFIG += win_cmd_shell
51 }
52
53 # Default location of generated sources
54 GENERATED_SOURCES_DESTDIR = generated
55
56 QUOTE = ""
57 DOUBLE_ESCAPED_QUOTE = ""
58 ESCAPE = ""
59 win_cmd_shell {
60     ESCAPE = "^"
61 } else {
62     QUOTE = "\'"
63     DOUBLE_ESCAPED_QUOTE = "\\\'"
64 }
65 EOL = $$escape_expand(\\n)
66 EOC = $$escape_expand(\\n\\t)
67 TAB = $$escape_expand(\\t)
68
69 MAKEFILE_NOOP_COMMAND = @echo -n
70 win32-msvc*: MAKEFILE_NOOP_COMMAND = @echo >NUL
71
72 # Help keep the build tree clean
73 MOC_DIR = moc
74 RCC_DIR = rcc
75 OBJECTS_DIR = obj/$$activeBuildConfig()
76
77 # Set up a default python version
78 scratchbox: PYTHON = python2.6
79 else: PYTHON = python
80
81 # Run configure before making decisions that depend on the result
82 root_project_file {
83     load(configure)
84     runConfigure()
85 }
86
87 unix:config_gccdepends {
88     # We have a compiler that supports the -MD option (and neither
89     # teambuilder nor icecream is messing up the .d file output).
90     CONFIG += GNUmake gcc_MD_depends
91 }
92
93 # We use private_tests to detect developer build, since the destdir will
94 # always be our webkit build dir. This might change as configure changes.
95 contains(QT_CONFIG, private_tests): CONFIG += qt_developer_build
96
97 # Set some defaults for specific platforms
98 CONFIG += include_webinspector
99
100 # By default we enable "production build", and build-webkit, which is
101 # used by bots and developers, will disable it, to enable warnings etc.
102 CONFIG += production_build
103
104 # Pick up Qt's defaults for debug/release/debug_and_release
105 if(win32|mac):!macx-xcode {
106     contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
107     contains(QT_CONFIG, build_all): CONFIG += build_all
108 }
109
110 # Try to locate sqlite3 source (for WebCore)
111 SQLITE3SRCDIR = $$(SQLITE3SRCDIR)
112 isEmpty(SQLITE3SRCDIR) {
113     SQLITE3SRCDIR = $$QT.core.sources/../3rdparty/sqlite/
114 }
115
116 # A newer version of flex is required on Windows. At the moment the only
117 # one that appears to provide binaries and is not cygwin is winflex.
118 FLEX = flex
119 win32: FLEX = win_flex
120
121 BIN_EXTENSION =
122 win32: BIN_EXTENSION = .exe