summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-03-23 02:11:50 +0400
committerKonstantin Ritt <ritt.ks@gmail.com>2015-03-27 21:54:22 +0000
commitf2486adc1b2c97a1a98e78b3e283d75b1ac3ef65 (patch)
treeff43b55beac8993d010f16ee980f918d3e077332
parentebafb2f14bb2855176de17a1131c1e7db01f2e0c (diff)
Build bundled freetype as qt_helper_lib
And thus do not disable warnings for the whole module when configured with -qt-freetype. Change-Id: I601a7c2990c8e3377531a28078db73800c138ec1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r--src/3rdparty/freetype.pri69
-rw-r--r--src/3rdparty/freetype/freetype.pro71
-rw-r--r--src/3rdparty/freetype_dependency.pri7
-rw-r--r--src/platformsupport/fontdatabases/basic/basic.pri7
-rw-r--r--src/plugins/platforms/windows/windows.pri2
-rw-r--r--src/src.pro9
6 files changed, 88 insertions, 77 deletions
diff --git a/src/3rdparty/freetype.pri b/src/3rdparty/freetype.pri
deleted file mode 100644
index 02b6295228..0000000000
--- a/src/3rdparty/freetype.pri
+++ /dev/null
@@ -1,69 +0,0 @@
-QT_FREETYPE_DIR = $$PWD/freetype
-
-SOURCES += \
- $$QT_FREETYPE_DIR/src/autofit/afangles.c \
- $$QT_FREETYPE_DIR/src/autofit/afdummy.c \
- $$QT_FREETYPE_DIR/src/autofit/afglobal.c \
- $$QT_FREETYPE_DIR/src/autofit/afhints.c \
- $$QT_FREETYPE_DIR/src/autofit/aflatin.c \
- $$QT_FREETYPE_DIR/src/autofit/afloader.c \
- $$QT_FREETYPE_DIR/src/autofit/afmodule.c \
- $$QT_FREETYPE_DIR/src/autofit/autofit.c \
- $$QT_FREETYPE_DIR/src/base/ftbase.c \
- $$QT_FREETYPE_DIR/src/base/ftbitmap.c \
- $$QT_FREETYPE_DIR/src/base/ftbbox.c \
- $$QT_FREETYPE_DIR/src/base/ftdebug.c \
- $$QT_FREETYPE_DIR/src/base/ftglyph.c \
- $$QT_FREETYPE_DIR/src/base/ftinit.c \
- $$QT_FREETYPE_DIR/src/base/ftlcdfil.c \
- $$QT_FREETYPE_DIR/src/base/ftmm.c \
- $$QT_FREETYPE_DIR/src/base/ftsynth.c \
- $$QT_FREETYPE_DIR/src/base/fttype1.c \
- $$QT_FREETYPE_DIR/src/bdf/bdf.c \
- $$QT_FREETYPE_DIR/src/cache/ftcache.c \
- $$QT_FREETYPE_DIR/src/cff/cff.c \
- $$QT_FREETYPE_DIR/src/cid/type1cid.c \
- $$QT_FREETYPE_DIR/src/gzip/ftgzip.c \
- $$QT_FREETYPE_DIR/src/lzw/ftlzw.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvalid.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvbase.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvcommn.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvgdef.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvgpos.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvgsub.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvjstf.c \
- $$QT_FREETYPE_DIR/src/otvalid/otvmod.c \
- $$QT_FREETYPE_DIR/src/pcf/pcf.c \
- $$QT_FREETYPE_DIR/src/pfr/pfr.c \
- $$QT_FREETYPE_DIR/src/psaux/psaux.c \
- $$QT_FREETYPE_DIR/src/pshinter/pshinter.c \
- $$QT_FREETYPE_DIR/src/psnames/psmodule.c \
- $$QT_FREETYPE_DIR/src/raster/raster.c \
- $$QT_FREETYPE_DIR/src/sfnt/sfnt.c \
- $$QT_FREETYPE_DIR/src/smooth/smooth.c \
- $$QT_FREETYPE_DIR/src/truetype/truetype.c \
- $$QT_FREETYPE_DIR/src/type1/type1.c \
- $$QT_FREETYPE_DIR/src/type42/type42.c \
- $$QT_FREETYPE_DIR/src/winfonts/winfnt.c
-
-win32 {
- SOURCES += $$QT_FREETYPE_DIR/src/base/ftsystem.c
-} else {
- SOURCES += $$QT_FREETYPE_DIR/builds/unix/ftsystem.c
- INCLUDEPATH += $$QT_FREETYPE_DIR/builds/unix
-}
-
-INCLUDEPATH += $$QT_FREETYPE_DIR/src $$QT_FREETYPE_DIR/include
-
-DEFINES += FT2_BUILD_LIBRARY
-contains(QT_CONFIG, system-zlib) {
- DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
- include($$PWD/zlib_dependency.pri)
-}
-
-DEFINES += TT_CONFIG_OPTION_SUBPIXEL_HINTING
-
-# disable warnings about "unsafe" methods in C code
-msvc:QMAKE_CFLAGS_WARN_ON += -wd"4996"
-
-TR_EXCLUDE += $$QT_FREETYPE_DIR/*
diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro
new file mode 100644
index 0000000000..a32579e0f9
--- /dev/null
+++ b/src/3rdparty/freetype/freetype.pro
@@ -0,0 +1,71 @@
+TARGET = qtfreetype
+
+CONFIG += \
+ static \
+ hide_symbols \
+ exceptions_off rtti_off warn_off
+
+load(qt_helper_lib)
+
+SOURCES += \
+ $$PWD/src/autofit/afangles.c \
+ $$PWD/src/autofit/afdummy.c \
+ $$PWD/src/autofit/afglobal.c \
+ $$PWD/src/autofit/afhints.c \
+ $$PWD/src/autofit/aflatin.c \
+ $$PWD/src/autofit/afloader.c \
+ $$PWD/src/autofit/afmodule.c \
+ $$PWD/src/autofit/autofit.c \
+ $$PWD/src/base/ftbase.c \
+ $$PWD/src/base/ftbitmap.c \
+ $$PWD/src/base/ftbbox.c \
+ $$PWD/src/base/ftdebug.c \
+ $$PWD/src/base/ftglyph.c \
+ $$PWD/src/base/ftinit.c \
+ $$PWD/src/base/ftlcdfil.c \
+ $$PWD/src/base/ftmm.c \
+ $$PWD/src/base/ftsynth.c \
+ $$PWD/src/base/fttype1.c \
+ $$PWD/src/bdf/bdf.c \
+ $$PWD/src/cache/ftcache.c \
+ $$PWD/src/cff/cff.c \
+ $$PWD/src/cid/type1cid.c \
+ $$PWD/src/gzip/ftgzip.c \
+ $$PWD/src/lzw/ftlzw.c \
+ $$PWD/src/otvalid/otvalid.c \
+ $$PWD/src/otvalid/otvbase.c \
+ $$PWD/src/otvalid/otvcommn.c \
+ $$PWD/src/otvalid/otvgdef.c \
+ $$PWD/src/otvalid/otvgpos.c \
+ $$PWD/src/otvalid/otvgsub.c \
+ $$PWD/src/otvalid/otvjstf.c \
+ $$PWD/src/otvalid/otvmod.c \
+ $$PWD/src/pcf/pcf.c \
+ $$PWD/src/pfr/pfr.c \
+ $$PWD/src/psaux/psaux.c \
+ $$PWD/src/pshinter/pshinter.c \
+ $$PWD/src/psnames/psmodule.c \
+ $$PWD/src/raster/raster.c \
+ $$PWD/src/sfnt/sfnt.c \
+ $$PWD/src/smooth/smooth.c \
+ $$PWD/src/truetype/truetype.c \
+ $$PWD/src/type1/type1.c \
+ $$PWD/src/type42/type42.c \
+ $$PWD/src/winfonts/winfnt.c
+
+win32 {
+ SOURCES += $$PWD/src/base/ftsystem.c
+} else {
+ SOURCES += $$PWD/builds/unix/ftsystem.c
+ INCLUDEPATH += $$PWD/builds/unix
+}
+
+INCLUDEPATH += $$PWD/include
+
+DEFINES += FT2_BUILD_LIBRARY
+contains(QT_CONFIG, system-zlib) {
+ DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
+ include($$PWD/../zlib_dependency.pri)
+}
+
+DEFINES += TT_CONFIG_OPTION_SUBPIXEL_HINTING
diff --git a/src/3rdparty/freetype_dependency.pri b/src/3rdparty/freetype_dependency.pri
new file mode 100644
index 0000000000..39280deb2f
--- /dev/null
+++ b/src/3rdparty/freetype_dependency.pri
@@ -0,0 +1,7 @@
+contains(QT_CONFIG, freetype) {
+ INCLUDEPATH += $$PWD/freetype/include
+ LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtfreetype$$qtPlatformTargetSuffix()
+} else:contains(QT_CONFIG, system-freetype) {
+ # pull in the proper freetype2 include directory
+ include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
+}
diff --git a/src/platformsupport/fontdatabases/basic/basic.pri b/src/platformsupport/fontdatabases/basic/basic.pri
index c09ea4eed5..d70b3b6a1a 100644
--- a/src/platformsupport/fontdatabases/basic/basic.pri
+++ b/src/platformsupport/fontdatabases/basic/basic.pri
@@ -10,9 +10,4 @@ SOURCES += \
CONFIG += opentype
-contains(QT_CONFIG, freetype) {
- include($$QT_SOURCE_TREE/src/3rdparty/freetype.pri)
-} else:contains(QT_CONFIG, system-freetype) {
- # pull in the proper freetype2 include directory
- include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
-}
+include($$QT_SOURCE_TREE/src/3rdparty/freetype_dependency.pri)
diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
index e3880a2646..a0460630a7 100644
--- a/src/plugins/platforms/windows/windows.pri
+++ b/src/plugins/platforms/windows/windows.pri
@@ -122,7 +122,7 @@ contains(QT_CONFIG,dynamicgl) {
contains(QT_CONFIG, freetype) {
DEFINES *= QT_NO_FONTCONFIG
- include($$QT_SOURCE_TREE/src/3rdparty/freetype.pri)
+ include($$QT_SOURCE_TREE/src/3rdparty/freetype_dependency.pri)
HEADERS += \
$$PWD/qwindowsfontdatabase_ft.h
SOURCES += \
diff --git a/src/src.pro b/src/src.pro
index 3dd9f8c9ce..fcdc6c32e0 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -90,6 +90,9 @@ src_3rdparty_harfbuzzng.subdir = $$PWD/3rdparty/harfbuzz-ng
src_3rdparty_harfbuzzng.target = sub-3rdparty-harfbuzzng
src_3rdparty_harfbuzzng.depends = src_corelib # for the Qt atomics
+src_3rdparty_freetype.subdir = $$PWD/3rdparty/freetype
+src_3rdparty_freetype.target = sub-3rdparty-freetype
+
src_angle.subdir = $$PWD/angle
src_angle.target = sub-angle
@@ -156,6 +159,10 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
SUBDIRS += src_angle
src_gui.depends += src_angle
}
+ contains(QT_CONFIG, freetype) {
+ SUBDIRS += src_3rdparty_freetype
+ src_platformsupport.depends += src_3rdparty_freetype
+ }
SUBDIRS += src_gui src_platformsupport src_platformheaders
contains(QT_CONFIG, opengl(es2)?):SUBDIRS += src_openglextensions
src_plugins.depends += src_gui src_platformsupport src_platformheaders
@@ -182,7 +189,7 @@ android:!android-no-sdk: SUBDIRS += src_android
TR_EXCLUDE = \
src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic src_tools_qlalr \
src_tools_bootstrap_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml \
- src_3rdparty_pcre src_3rdparty_harfbuzzng
+ src_3rdparty_pcre src_3rdparty_harfbuzzng src_3rdparty_freetype
sub-tools.depends = $$TOOLS
QMAKE_EXTRA_TARGETS = sub-tools