summaryrefslogtreecommitdiffstats
path: root/commonplatform.pri
diff options
context:
space:
mode:
authorPasi Keränen <pasi.keranen@qt.io>2019-06-06 16:22:02 +0300
committerPasi Keränen <pasi.keranen@qt.io>2019-06-07 13:52:44 +0300
commitb4954701093739e7a4e54a0669f306922d0d4605 (patch)
tree73d71319a921234f6b507c9098fdc842f7fe06dc /commonplatform.pri
parent8548a5f5579e3eee7e5ae6b1f6901dcc8bfee19e (diff)
Long live the slayer!
Initial commit of OpenGL Runtime to repository. Based on SHA1 61823aaccc6510699a54b34a2fe3f7523dab3b4e of qt3dstudio repository. Task-number: QT3DS-3600 Change-Id: Iaeb80237399f0e5656a19ebec9d1ab3a681d8832 Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Diffstat (limited to 'commonplatform.pri')
-rw-r--r--commonplatform.pri308
1 files changed, 308 insertions, 0 deletions
diff --git a/commonplatform.pri b/commonplatform.pri
new file mode 100644
index 0000000..aadadb2
--- /dev/null
+++ b/commonplatform.pri
@@ -0,0 +1,308 @@
+load(qt_build_config)
+load(qt_build_paths)
+
+# Common defines across platforms that should be checked if/where they are used
+# as we remove dependencies to see where we can reduce
+DEFINES += \
+ QT3DS_FOUNDATION_NO_EXPORTS \
+ _CRT_SECURE_NO_DEPRECATE \
+ _CRT_NONSTDC_NO_DEPRECATE \
+ QT3DS_GRAPHICS_API_GL \
+ QT3DS_NO_SEARCH_PATH \
+ QT3DS_RENDER_ENABLE_LOAD_UIP \
+ FONT_NO_RES_DIR \
+ _TEGRA_NO_LOG_FILE \
+ EA_COMPILER_HAS_INTTYPES \
+ EASTL_ALLOCATOR_COPY_ENABLED \
+ UNICODE \
+ _UNICODE \
+ NO_BOOST
+
+win32: PlatformSpecificDir = windows
+macos: PlatformSpecificDir = macos
+linux|integrity|qnx: PlatformSpecificDir = linux
+android: PlatformSpecificDir = android/jni
+
+integrity: {
+ DEFINES += _LINUX
+ DEFINES += _INTEGRITYPLATFORM
+}
+
+INCLUDEPATH += $$PWD/src/platformspecific/$$PlatformSpecificDir
+
+THIRDPARTY_DIR = $$(QT3DSTUDIO_3RDPARTY_DIR)
+isEmpty(THIRDPARTY_DIR) {
+ THIRDPARTY_DIR = $$PWD/src/3rdparty
+}
+
+contains(QT_ARCH, x86_64) {
+ DEFINES += QT3DS_PROCESSOR_X64
+}
+
+CONFIG(debug, debug|release) {
+ DEFINES += _DEBUG
+} else {
+ DEFINES += NDEBUG
+}
+
+linux|qnx {
+ CONFIG += egl
+ DEFINES+=_LINUX QT3DS_OS_LINUX _LINUXPLATFORM QT3DS_NO_X11 \
+ QT3DS_VIEWER_EXPORTS WIDE_IS_DIFFERENT_TYPE_THAN_CHAR16_T
+ QMAKE_CXXFLAGS_WARN_ON = -Wall -Wno-unused-local-typedefs
+}
+
+linux-clang {
+ DEFINES += __STRICT_ANSI__
+}
+
+macos {
+ DEFINES += _MACOSX _LINUXPLATFORM WIDE_IS_DIFFERENT_TYPE_THAN_CHAR16_T
+ INCLUDEPATH += /usr/local/include
+
+# macOS builds treat most warnings as errors to prevent slipping more warnings
+# in to the code
+
+# Suppress large number of warnings from the Qt 3D Studio Code.
+# Suppressions have been reported in JIRA with these bugs:
+# QT3DS-2214 -Wno-unused-local-typedefs
+# QT3DS-2216 -Wno-inconsistent-missing-override
+# QT3DS-2222 -Wno-reorder
+# QT3DS-2223 -Wno-format
+# QT3DS-2224 -Wno-unused-function
+# QT3DS-2227 -Wno-unused-value
+# QT3DS-2229 -Wno-delete-non-virtual-dtor
+# QT3DS-2234 -Wno-unused-variable
+# QT3DS-2235 -Wno-overloaded-virtual
+# QT3DS-2237 -Wno-unused-private-field
+# QT3DS-2238 -Wno-comment
+# QT3DS-2240 -Wno-enum-compare
+# QT3DS-2241 -Wno-int-to-pointer-cast
+# QT3DS-2242 -Wno-int-to-void-pointer-cast
+# QT3DS-2246 -Wno-deprecated-declarations
+# QT3DS-2247 -Wno-pointer-bool-conversion
+# QT3DS-2248 -Wno-self-assign
+# QT3DS-2249 -Wno-tautological-compare
+# QT3DS-2251 -Wno-tautological-constant-out-of-range-compare
+ QMAKE_CXXFLAGS_WARN_ON = -Wall \
+ -Werror \
+ -Wno-unknown-pragmas \
+ -Wno-unused-local-typedefs \
+ -Wno-inconsistent-missing-override \
+ -Wno-reorder \
+ -Wno-format \
+ -Wno-unused-function \
+ -Wno-unused-value \
+ -Wno-delete-non-virtual-dtor \
+ -Wno-unused-variable \
+ -Wno-overloaded-virtual \
+ -Wno-unused-private-field \
+ -Wno-comment \
+ -Wno-enum-compare \
+ -Wno-int-to-pointer-cast \
+ -Wno-int-to-void-pointer-cast \
+ -Wno-deprecated-declarations \
+ -Wno-pointer-bool-conversion \
+ -Wno-self-assign \
+ -Wno-tautological-compare \
+ -Wno-tautological-constant-out-of-range-compare \
+ -Wno-mismatched-tags \
+ -Wno-error=unused-local-typedefs \
+ -Wno-error=inconsistent-missing-override \
+ -Wno-error=reorder \
+ -Wno-error=format \
+ -Wno-error=unused-function \
+ -Wno-error=unused-value \
+ -Wno-error=delete-non-virtual-dtor \
+ -Wno-error=unused-variable \
+ -Wno-error=overloaded-virtual \
+ -Wno-error=unused-private-field \
+ -Wno-error=comment \
+ -Wno-error=enum-compare \
+ -Wno-error=int-to-pointer-cast \
+ -Wno-error=int-to-void-pointer-cast \
+ -Wno-error=unused-lambda-capture \
+ -Wno-error=deprecated-declarations \
+ -Wno-error=pointer-bool-conversion \
+ -Wno-error=self-assign \
+ -Wno-error=tautological-compare \
+ -Wno-error=tautological-constant-out-of-range-compare \
+ -Wno-error=switch \
+ -Wno-error=mismatched-tags \
+ -Wno-error=logical-op-parentheses \
+ -Wno-error=pragmas \
+ -Wno-error=pragma-pack \
+ -Wno-error=mismatched-tags
+
+ QMAKE_CFLAGS_WARN_ON = -Wall \
+ -Werror \
+ -Wno-unknown-pragmas \
+ -Wno-unused-local-typedefs \
+ -Wno-inconsistent-missing-override \
+ -Wno-reorder \
+ -Wno-format \
+ -Wno-unused-function \
+ -Wno-unused-value \
+ -Wno-delete-non-virtual-dtor \
+ -Wno-unused-variable \
+ -Wno-overloaded-virtual \
+ -Wno-unused-private-field \
+ -Wno-comment \
+ -Wno-enum-compare \
+ -Wno-int-to-pointer-cast \
+ -Wno-int-to-void-pointer-cast \
+ -Wno-unused-lambda-capture \
+ -Wno-deprecated-declarations \
+ -Wno-pointer-bool-conversion \
+ -Wno-self-assign \
+ -Wno-tautological-compare \
+ -Wno-tautological-constant-out-of-range-compare \
+ -Wno-mismatched-tags \
+ -Wno-error=unused-local-typedefs \
+ -Wno-error=inconsistent-missing-override \
+ -Wno-error=reorder \
+ -Wno-error=format \
+ -Wno-error=unused-function \
+ -Wno-error=unused-value \
+ -Wno-error=delete-non-virtual-dtor \
+ -Wno-error=unused-variable \
+ -Wno-error=overloaded-virtual \
+ -Wno-error=unused-private-field \
+ -Wno-error=comment \
+ -Wno-error=enum-compare \
+ -Wno-error=int-to-pointer-cast \
+ -Wno-error=int-to-void-pointer-cast \
+ -Wno-error=unused-lambda-capture \
+ -Wno-error=deprecated-declarations \
+ -Wno-error=pointer-bool-conversion \
+ -Wno-error=self-assign \
+ -Wno-error=tautological-compare \
+ -Wno-error=tautological-constant-out-of-range-compare \
+ -Wno-error=switch \
+ -Wno-error=mismatched-tags \
+ -Wno-error=logical-op-parentheses \
+ -Wno-error=pragmas \
+ -Wno-error=pragma-pack \
+ -Wno-error=mismatched-tags
+
+# Suppress the huge pile of Qt related warnings on "direct access in function
+# from file to global weak symbol". These arise when not using devbuilds of Qt.
+ QMAKE_CXXFLAGS += -fvisibility=hidden
+ QMAKE_CFLAGS += -fvisibility=hidden
+}
+
+*-icc*: {
+QMAKE_CFLAGS += -fasm-blocks
+QMAKE_CFLAGS += -wd1418,2259,383,981,2259,11074,11076
+QMAKE_CXXFLAGS += -fasm-blocks
+QMAKE_CXXFLAGS += -wd1418,2259,383,981,2259,11074,11076
+QMAKE_CXXFLAGS_WARN_ON = -wd1418,2259,383,981,2259,11074,11076
+QMAKE_CFLAGS_WARN_ON = -wd1418,2259,383,981,2259,11074,11076
+}
+
+clang {
+# Suppress large number of warnings from the Qt 3D Studio Code.
+# Suppressions have been reported in JIRA with bugs
+ QMAKE_CXXFLAGS_WARN_ON = -Wall \
+ -Wno-unknown-pragmas \
+ -Wno-unused-local-typedefs \
+ -Wno-inconsistent-missing-override \
+ -Wno-reorder \
+ -Wno-format \
+ -Wno-unused-function \
+ -Wno-unused-value \
+ -Wno-delete-non-virtual-dtor \
+ -Wno-unused-variable \
+ -Wno-overloaded-virtual \
+ -Wno-unused-private-field \
+ -Wno-comment \
+ -Wno-enum-compare \
+ -Wno-int-to-pointer-cast \
+ -Wno-int-to-void-pointer-cast \
+ -Wno-deprecated-declarations \
+ -Wno-pointer-bool-conversion \
+ -Wno-self-assign \
+ -Wno-tautological-compare \
+ -Wno-tautological-constant-out-of-range-compare \
+ -Wno-mismatched-tags
+
+ QMAKE_CFLAGS_WARN_ON = -Wall \
+ -Wno-unknown-pragmas \
+ -Wno-unused-local-typedefs \
+ -Wno-inconsistent-missing-override \
+ -Wno-reorder \
+ -Wno-format \
+ -Wno-unused-function \
+ -Wno-unused-value \
+ -Wno-delete-non-virtual-dtor \
+ -Wno-unused-variable \
+ -Wno-overloaded-virtual \
+ -Wno-unused-private-field \
+ -Wno-comment \
+ -Wno-enum-compare \
+ -Wno-int-to-pointer-cast \
+ -Wno-int-to-void-pointer-cast \
+ -Wno-deprecated-declarations \
+ -Wno-pointer-bool-conversion \
+ -Wno-self-assign \
+ -Wno-tautological-compare \
+ -Wno-tautological-constant-out-of-range-compare \
+ -Wno-mismatched-tags
+
+# Suppress the huge pile of Qt related warnings on "direct access in function
+# from file to global weak symbol". These arise when not using devbuilds of Qt.
+ QMAKE_CXXFLAGS += -fvisibility=hidden
+ QMAKE_CFLAGS += -fvisibility=hidden
+}
+
+android {
+ QMAKE_CXXFLAGS -= -fstack-protector-strong
+ QMAKE_CFLAGS -= -fstack-protector-strong
+ # TODO: Should be done using this instead of copying the GLES headers, but including this
+ # causes lots of conflicting definitions in signal.h for some reason. Feel free to fix it if
+ # you know how. After this works, GLES3 and GLES2 folders can be deleted from
+ # 3rdparty/RuntimePlatformSpecific/Android/jni
+# INCLUDEPATH += $$(ANDROID_NDK_ROOT)/sysroot/usr/include
+# DEFINES += __BITS_PER_LONG=32
+}
+
+win32 {
+ DEFINES += QT3DS_OS_WINDOWS _WIN32 _PCPLATFORM \
+ WIDE_IS_DIFFERENT_TYPE_THAN_CHAR16_T KDWIN NOMINMAX
+
+ win32-msvc {
+ QMAKE_CXXFLAGS += /MP /d2Zi+
+ QMAKE_CFLAGS += /MP /d2Zi+
+ # Warning C4251 = needs to have dll-interface to be used by clients of class,
+ # it comes from a lot of Qt headers, so disabling it.
+ QMAKE_CXXFLAGS_WARN_ON += -wd4251 #needs to have dll-interface to be used by clients
+ }
+
+ CONFIG(debug, debug|release) {
+ win32-msvc {
+ QMAKE_CXXFLAGS += /Od
+ QMAKE_CFLAGS += /Od
+ }
+ } else {
+ win32-msvc {
+ QMAKE_CXXFLAGS += /Ox
+ QMAKE_CFLAGS += /Ox
+ }
+ }
+
+ contains(QT_ARCH, x86_64) {
+ DEFINES += _WIN64
+ }
+}
+
+BINDIR = $$MODULE_BASE_OUTDIR/bin
+LIBDIR = $$MODULE_BASE_OUTDIR/lib
+LIBS += -L"$$LIBDIR"
+!testcase {
+ contains(TEMPLATE, app) {
+ DESTDIR = $$BINDIR
+ } else {
+ DESTDIR = $$LIBDIR
+ win32: DLLDESTDIR = $$BINDIR
+ }
+}