diff options
author | Qt by Nokia <qt-info@nokia.com> | 2011-04-27 12:05:43 +0200 |
---|---|---|
committer | axis <qt-info@nokia.com> | 2011-04-27 12:05:43 +0200 |
commit | 38be0d13830efd2d98281c645c3a60afe05ffece (patch) | |
tree | 6ea73f3ec77f7d153333779883e8120f82820abe /mkspecs/features/win32 |
Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://qt.gitorious.org/qt/pages/GitIntroductionWithQt
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
Diffstat (limited to 'mkspecs/features/win32')
22 files changed, 236 insertions, 0 deletions
diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf new file mode 100644 index 0000000000..8a1725d648 --- /dev/null +++ b/mkspecs/features/win32/console.prf @@ -0,0 +1,4 @@ +CONFIG -= windows +contains(TEMPLATE, ".*app") { + QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE +} diff --git a/mkspecs/features/win32/default_post.prf b/mkspecs/features/win32/default_post.prf new file mode 100644 index 0000000000..a1d8b52da9 --- /dev/null +++ b/mkspecs/features/win32/default_post.prf @@ -0,0 +1,11 @@ +!isEmpty(CE_ARCH) { + QMAKESPEC_DIR = $$QMAKESPEC + exists($$QMAKESPEC_DIR/default_post.prf) { + isEmpty(QMAKESPEC_DIR):QMAKESPEC_DIR = $$QMAKESPEC_ORIGINAL + !isEmpty(QMAKESPEC_DIR):load($$QMAKESPEC_DIR/default_post.prf) + } +} + +# Now load the global default_post +load(default_post) + diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf new file mode 100644 index 0000000000..67891743a5 --- /dev/null +++ b/mkspecs/features/win32/default_pre.prf @@ -0,0 +1,3 @@ +CONFIG = rtti_off exceptions_off stl_off incremental_off thread_off windows $$CONFIG +load(default_pre) + diff --git a/mkspecs/features/win32/dumpcpp.prf b/mkspecs/features/win32/dumpcpp.prf new file mode 100644 index 0000000000..19637998c7 --- /dev/null +++ b/mkspecs/features/win32/dumpcpp.prf @@ -0,0 +1,11 @@ +isEmpty(QMAKE_DUMPCPP_NAME) { + QMAKE_DUMPCPP_NAME = make_dumpcpp +} + +# auto depend on dumpcpp +!contains(TARGET, dumpcpp) { + isEmpty(QMAKE_DUMPCPP_SRC): QMAKE_DUMPCPP_SRC = "$(QTDIR)/tools/activeqt/dumpcpp" + make_dumpcpp.commands = (cd $$QMAKE_DUMPCPP_SRC && $(QMAKE) && $(MAKE)) + QMAKE_EXTRA_TARGETS += $$QMAKE_DUMPCPP_NAME +} + diff --git a/mkspecs/features/win32/embed_manifest_dll.prf b/mkspecs/features/win32/embed_manifest_dll.prf new file mode 100644 index 0000000000..cf96ee7017 --- /dev/null +++ b/mkspecs/features/win32/embed_manifest_dll.prf @@ -0,0 +1,12 @@ +!if(plugin:no_plugin_manifest):if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!static:equals(TEMPLATE, "lib") { + MANIFEST_DIR = $$OBJECTS_DIR + isEmpty(MANIFEST_DIR):MANIFEST_DIR = . + NOPATH_TARGET = $$TARGET + NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted) + NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators + NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths + QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\") + !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK + QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2)$$QMAKE_POST_LINK + QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" +} diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf new file mode 100644 index 0000000000..9bc77029ff --- /dev/null +++ b/mkspecs/features/win32/embed_manifest_exe.prf @@ -0,0 +1,12 @@ +if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):equals(TEMPLATE, "app") { + MANIFEST_DIR = $$OBJECTS_DIR + isEmpty(MANIFEST_DIR):MANIFEST_DIR = . + NOPATH_TARGET = $$TARGET + NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted) + NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators + NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths + QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\") + !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK + QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);1)$$QMAKE_POST_LINK + QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" +} diff --git a/mkspecs/features/win32/exceptions.prf b/mkspecs/features/win32/exceptions.prf new file mode 100644 index 0000000000..786665920f --- /dev/null +++ b/mkspecs/features/win32/exceptions.prf @@ -0,0 +1,5 @@ +CONFIG -= exceptions_off +QMAKE_CFLAGS *= $$QMAKE_CFLAGS_EXCEPTIONS_ON +QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_EXCEPTIONS_ON +QMAKE_LFLAGS *= $$QMAKE_LFLAGS_EXCEPTIONS_ON + diff --git a/mkspecs/features/win32/exceptions_off.prf b/mkspecs/features/win32/exceptions_off.prf new file mode 100644 index 0000000000..9de53d3417 --- /dev/null +++ b/mkspecs/features/win32/exceptions_off.prf @@ -0,0 +1,5 @@ +CONFIG -= exceptions +QMAKE_CFLAGS += $$QMAKE_CFLAGS_EXCEPTIONS_OFF +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_EXCEPTIONS_OFF +QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXCEPTIONS_OFF + diff --git a/mkspecs/features/win32/ltcg.prf b/mkspecs/features/win32/ltcg.prf new file mode 100644 index 0000000000..f6f1299f47 --- /dev/null +++ b/mkspecs/features/win32/ltcg.prf @@ -0,0 +1,5 @@ +CONFIG(release, debug|release) { + QMAKE_CFLAGS *= $$QMAKE_CFLAGS_LTCG + QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_LTCG + QMAKE_LFLAGS *= $$QMAKE_LFLAGS_LTCG +} diff --git a/mkspecs/features/win32/msvc_mp.prf b/mkspecs/features/win32/msvc_mp.prf new file mode 100644 index 0000000000..d6dea14db9 --- /dev/null +++ b/mkspecs/features/win32/msvc_mp.prf @@ -0,0 +1,2 @@ +QMAKE_CFLAGS += $$QMAKE_CFLAGS_MP +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MP diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf new file mode 100644 index 0000000000..3414781c39 --- /dev/null +++ b/mkspecs/features/win32/opengl.prf @@ -0,0 +1,11 @@ +# WinCE does not have a platform directory for .prf files, and the +# win32 directory is searched for .prfs by qmake on WinCE. Ideally +# there should be a features/wince/opengl.prf which contains the wince +# block below. + +wince* { + include(../unix/opengl.prf) +} else { + QMAKE_LIBS += $$QMAKE_LIBS_OPENGL + QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL +} diff --git a/mkspecs/features/win32/openvg.prf b/mkspecs/features/win32/openvg.prf new file mode 100644 index 0000000000..0df5b6621a --- /dev/null +++ b/mkspecs/features/win32/openvg.prf @@ -0,0 +1,7 @@ +QMAKE_LIBS += $$QMAKE_LIBS_OPENVG +QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENVG + +contains(QT_CONFIG, openvg_on_opengl) { + QMAKE_LIBS += $$QMAKE_LIBS_OPENGL + QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL +} diff --git a/mkspecs/features/win32/qaxcontainer.prf b/mkspecs/features/win32/qaxcontainer.prf new file mode 100644 index 0000000000..34c6dfed42 --- /dev/null +++ b/mkspecs/features/win32/qaxcontainer.prf @@ -0,0 +1,32 @@ +!debug_and_release|build_pass { + CONFIG(debug, debug|release) { + LIBS += -lQAxContainerd + } else { + LIBS += -lQAxContainer + } +} else { + LIBS += -lQAxContainer +} + +qtPrepareTool(QMAKE_DUMPCPP, dumpcpp) + +dumpcpp_decl.commands = $$QMAKE_DUMPCPP ${QMAKE_FILE_IN} -o ${QMAKE_FILE_BASE} +qaxcontainer_compat: dumpcpp_decl.commands += -compat +dumpcpp_decl.output = ${QMAKE_FILE_BASE}.h +dumpcpp_decl.input = TYPELIBS +dumpcpp_decl.variable_out = HEADERS +dumpcpp_decl.name = DUMP +dumpcpp_decl.CONFIG += no_link +dumpcpp_decl.depends = $$QMAKE_DUMPCPP + +QMAKE_EXTRA_COMPILERS += dumpcpp_decl + + +dumpcpp_impl.commands = $$QMAKE_DUMPCPP -donothing +dumpcpp_impl.output = ${QMAKE_FILE_BASE}.cpp +dumpcpp_impl.input = TYPELIBS +dumpcpp_impl.variable_out = SOURCES +dumpcpp_impl.name = CPP +dumpcpp_impl.depends = $$QMAKE_DUMPCPP ${QMAKE_FILE_BASE}.h + +QMAKE_EXTRA_COMPILERS += dumpcpp_impl diff --git a/mkspecs/features/win32/qaxserver.prf b/mkspecs/features/win32/qaxserver.prf new file mode 100644 index 0000000000..a6c0869540 --- /dev/null +++ b/mkspecs/features/win32/qaxserver.prf @@ -0,0 +1,59 @@ +build_pass:console: { + warning("QAxServer applications cannot be console applications.") + warning("Remove 'console' from your CONFIG.") +} + +ACTIVEQT_VERSION = $$VERSION +isEmpty(ACTIVEQT_VERSION):ACTIVEQT_VERSION = 1.0 + +DEFINES += QAXSERVER + +contains(TEMPLATE, "vc.*") { + ACTIVEQT_IDC = $${QMAKE_IDC} ### Qt5: remove me + qtPrepareTool(ACTIVEQT_IDC, idc) + ACTIVEQT_IDL = $${QMAKE_IDL} + ACTIVEQT_TARGET = "$(TargetPath)" + win32-msvc { + ACTIVEQT_NEWLINE = $$escape_expand(\\t) + ACTIVEQT_OUTPUT = $(IntDir)/$${TARGET} + } else { + ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t) + ACTIVEQT_OUTPUT = $(IntDir)$${TARGET} + } + ACTIVEQT_TLBOUT = "$(TargetDir)/$${TARGET}.tlb" + GENERATED += $${OBJECTS_DIR}/$${TARGET}.idl $${ACTIVEQT_TLBOUT} +} else { + ACTIVEQT_IDC = -$(IDC) + ACTIVEQT_IDL = -$(IDL) + ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t) + ACTIVEQT_TARGET = $(DESTDIR_TARGET) + ACTIVEQT_OUTPUT = $(OBJECTS_DIR)/$${TARGET} + isEmpty(DESTDIR) { + ACTIVEQT_TLBOUT = $${TARGET}.tlb + } else { + ACTIVEQT_TLBOUT = $${DESTDIR}/$${TARGET}.tlb + } +} + +!qaxserver_no_postlink { + !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK += $$quote($$ACTIVEQT_NEWLINE) + QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /idl $${ACTIVEQT_OUTPUT}.idl -version $${ACTIVEQT_VERSION}$${ACTIVEQT_NEWLINE}) + !isEmpty(RC_FILE) { + QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_OUTPUT}.tlb"$$ACTIVEQT_NEWLINE) + QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /tlb $${ACTIVEQT_OUTPUT}.tlb$$ACTIVEQT_NEWLINE) + } else { + QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_TLBOUT}"$$ACTIVEQT_NEWLINE) + message("No rc-file linked into project; type library will be a separate file.") + } + QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /regserver) + QMAKE_CLEAN += $${ACTIVEQT_OUTPUT}.idl $${ACTIVEQT_OUTPUT}.tlb +} + +qt:!target_qt { + CONFIG(debug, debug|release) { + QMAKE_LIBS_QT_ENTRY = -lQAxServerd + } else { + QMAKE_LIBS_QT_ENTRY = -lQAxServer + } + dll:QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY +} diff --git a/mkspecs/features/win32/qt_dll.prf b/mkspecs/features/win32/qt_dll.prf new file mode 100644 index 0000000000..f03c0c08c1 --- /dev/null +++ b/mkspecs/features/win32/qt_dll.prf @@ -0,0 +1 @@ +CONFIG *= qt diff --git a/mkspecs/features/win32/rtti.prf b/mkspecs/features/win32/rtti.prf new file mode 100644 index 0000000000..6d720d2438 --- /dev/null +++ b/mkspecs/features/win32/rtti.prf @@ -0,0 +1,3 @@ +CONFIG -= rtti_off +QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_ON +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_ON diff --git a/mkspecs/features/win32/rtti_off.prf b/mkspecs/features/win32/rtti_off.prf new file mode 100644 index 0000000000..b520bfa8b7 --- /dev/null +++ b/mkspecs/features/win32/rtti_off.prf @@ -0,0 +1,4 @@ +CONFIG -= rtti +QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_OFF +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_OFF +DEFINES += QT_NO_DYNAMIC_CAST
\ No newline at end of file diff --git a/mkspecs/features/win32/stl.prf b/mkspecs/features/win32/stl.prf new file mode 100644 index 0000000000..caf30ef68d --- /dev/null +++ b/mkspecs/features/win32/stl.prf @@ -0,0 +1,3 @@ +CONFIG -= stl_off +QMAKE_CFLAGS *= $$QMAKE_CFLAGS_STL_ON +QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_STL_ON diff --git a/mkspecs/features/win32/stl_off.prf b/mkspecs/features/win32/stl_off.prf new file mode 100644 index 0000000000..10198c76d7 --- /dev/null +++ b/mkspecs/features/win32/stl_off.prf @@ -0,0 +1,3 @@ +CONFIG -= stl +QMAKE_CFLAGS += $$QMAKE_CFLAGS_STL_OFF +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STL_OFF diff --git a/mkspecs/features/win32/thread.prf b/mkspecs/features/win32/thread.prf new file mode 100644 index 0000000000..76354a8200 --- /dev/null +++ b/mkspecs/features/win32/thread.prf @@ -0,0 +1,26 @@ +CONFIG -= thread_off +qt { + target_qt:PRL_EXPORT_DEFINES += QT_THREAD_SUPPORT + else:DEFINES += QT_THREAD_SUPPORT +} + +# #### These need to go +debug { + contains(DEFINES, QT_DLL) { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLLDBG + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLLDBG + } else { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DBG + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DBG + } +} else { + contains(DEFINES, QT_DLL) { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLL + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLL + } else { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT + } +} + +QMAKE_LIBS += $$QMAKE_LIBS_RTMT diff --git a/mkspecs/features/win32/thread_off.prf b/mkspecs/features/win32/thread_off.prf new file mode 100644 index 0000000000..436a2c8166 --- /dev/null +++ b/mkspecs/features/win32/thread_off.prf @@ -0,0 +1,2 @@ +CONFIG -= thread +QMAKE_LIBS += $$QMAKE_LIBS_RT diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf new file mode 100644 index 0000000000..f41db803c9 --- /dev/null +++ b/mkspecs/features/win32/windows.prf @@ -0,0 +1,15 @@ +CONFIG -= console +contains(TEMPLATE, ".*app"){ + QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE + win32-g++:DEFINES += QT_NEEDS_QMAIN + win32-borland:DEFINES += QT_NEEDS_QMAIN + + qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { + isEqual(entryLib, -lqtmain): { + CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d + else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX} + } else { + QMAKE_LIBS += $${entryLib} + } + } +} |