summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-03-20 17:02:15 +0400
committerKonstantin Ritt <ritt.ks@gmail.com>2015-03-20 18:12:09 +0000
commitb5e0e433cc1288f3176474ff49ccfd69b914c194 (patch)
tree000aebf03ca549e1ecec20c179cf3f0d9bc4cbc9
parent0a275328904b8b66cc80e36b627a48c35b13c205 (diff)
Build bundled PCRE copy as qt_helper_lib
We already have an infrastructure for that. Change-Id: I9110b74dcf7f93362586687da6f112e72cb663a4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r--src/3rdparty/pcre.pri33
-rw-r--r--src/3rdparty/pcre/pcre.pro44
-rw-r--r--src/3rdparty/pcre_dependency.pri7
-rw-r--r--src/corelib/tools/tools.pri8
-rw-r--r--src/src.pro14
5 files changed, 65 insertions, 41 deletions
diff --git a/src/3rdparty/pcre.pri b/src/3rdparty/pcre.pri
deleted file mode 100644
index be63002ffb..0000000000
--- a/src/3rdparty/pcre.pri
+++ /dev/null
@@ -1,33 +0,0 @@
-DEFINES += PCRE_HAVE_CONFIG_H
-
-win32:DEFINES += PCRE_STATIC
-ios:DEFINES += PCRE_DISABLE_JIT
-qnx:DEFINES += PCRE_DISABLE_JIT
-winrt:DEFINES += PCRE_DISABLE_JIT
-
-INCLUDEPATH += $$PWD/pcre
-SOURCES += \
- $$PWD/pcre/pcre16_byte_order.c \
- $$PWD/pcre/pcre16_chartables.c \
- $$PWD/pcre/pcre16_compile.c \
- $$PWD/pcre/pcre16_config.c \
- $$PWD/pcre/pcre16_dfa_exec.c \
- $$PWD/pcre/pcre16_exec.c \
- $$PWD/pcre/pcre16_fullinfo.c \
- $$PWD/pcre/pcre16_get.c \
- $$PWD/pcre/pcre16_globals.c \
- $$PWD/pcre/pcre16_jit_compile.c \
- $$PWD/pcre/pcre16_maketables.c \
- $$PWD/pcre/pcre16_newline.c \
- $$PWD/pcre/pcre16_ord2utf16.c \
- $$PWD/pcre/pcre16_refcount.c \
- $$PWD/pcre/pcre16_string_utils.c \
- $$PWD/pcre/pcre16_study.c \
- $$PWD/pcre/pcre16_tables.c \
- $$PWD/pcre/pcre16_ucd.c \
- $$PWD/pcre/pcre16_utf16_utils.c \
- $$PWD/pcre/pcre16_valid_utf16.c \
- $$PWD/pcre/pcre16_version.c \
- $$PWD/pcre/pcre16_xclass.c
-
-TR_EXCLUDE += $$PWD/*
diff --git a/src/3rdparty/pcre/pcre.pro b/src/3rdparty/pcre/pcre.pro
new file mode 100644
index 0000000000..1735fb3314
--- /dev/null
+++ b/src/3rdparty/pcre/pcre.pro
@@ -0,0 +1,44 @@
+TARGET = qtpcre
+
+CONFIG += \
+ static \
+ hide_symbols \
+ exceptions_off rtti_off warn_off
+
+load(qt_helper_lib)
+
+DEFINES += PCRE_HAVE_CONFIG_H
+
+# platform/compiler specific definitions
+win32: DEFINES += PCRE_STATIC
+ios|qnx|winrt: DEFINES += PCRE_DISABLE_JIT
+
+SOURCES += \
+ $$PWD/pcre16_byte_order.c \
+ $$PWD/pcre16_chartables.c \
+ $$PWD/pcre16_compile.c \
+ $$PWD/pcre16_config.c \
+ $$PWD/pcre16_dfa_exec.c \
+ $$PWD/pcre16_exec.c \
+ $$PWD/pcre16_fullinfo.c \
+ $$PWD/pcre16_get.c \
+ $$PWD/pcre16_globals.c \
+ $$PWD/pcre16_jit_compile.c \
+ $$PWD/pcre16_maketables.c \
+ $$PWD/pcre16_newline.c \
+ $$PWD/pcre16_ord2utf16.c \
+ $$PWD/pcre16_refcount.c \
+ $$PWD/pcre16_string_utils.c \
+ $$PWD/pcre16_study.c \
+ $$PWD/pcre16_tables.c \
+ $$PWD/pcre16_ucd.c \
+ $$PWD/pcre16_utf16_utils.c \
+ $$PWD/pcre16_valid_utf16.c \
+ $$PWD/pcre16_version.c \
+ $$PWD/pcre16_xclass.c
+
+HEADERS += \
+ $$PWD/config.h \
+ $$PWD/pcre.h \
+ $$PWD/pcre_internal.h \
+ $$PWD/ucp.h
diff --git a/src/3rdparty/pcre_dependency.pri b/src/3rdparty/pcre_dependency.pri
new file mode 100644
index 0000000000..2a3c99c7ed
--- /dev/null
+++ b/src/3rdparty/pcre_dependency.pri
@@ -0,0 +1,7 @@
+pcre {
+ win32: DEFINES += PCRE_STATIC
+ INCLUDEPATH += $$PWD/pcre
+ LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix()
+} else {
+ LIBS_PRIVATE += -lpcre16
+}
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index bf20154b56..5de0c09a4d 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -176,14 +176,10 @@ contains(QT_CONFIG,icu) {
}
!contains(QT_DISABLED_FEATURES, regularexpression) {
+ include($$PWD/../../3rdparty/pcre_dependency.pri)
+
HEADERS += tools/qregularexpression.h
SOURCES += tools/qregularexpression.cpp
-
- pcre {
- include($$PWD/../../3rdparty/pcre.pri)
- } else {
- LIBS_PRIVATE += -lpcre16
- }
}
INCLUDEPATH += ../3rdparty/harfbuzz/src
diff --git a/src/src.pro b/src/src.pro
index cb388ae4fc..3dd9f8c9ce 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,5 +1,7 @@
TEMPLATE = subdirs
+load(qfeatures)
+
src_tools_bootstrap.subdir = tools/bootstrap
src_tools_bootstrap.target = sub-bootstrap
src_tools_bootstrap.CONFIG = host_build
@@ -81,6 +83,9 @@ src_testlib.subdir = $$PWD/testlib
src_testlib.target = sub-testlib
src_testlib.depends = src_corelib # src_gui & src_widgets are not build-depends
+src_3rdparty_pcre.subdir = $$PWD/3rdparty/pcre
+src_3rdparty_pcre.target = sub-3rdparty-pcre
+
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
@@ -123,7 +128,12 @@ src_plugins.depends = src_sql src_xml src_network
src_android.subdir = $$PWD/android
# this order is important
-SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc src_corelib src_tools_qlalr
+SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc
+!contains(QT_DISABLED_FEATURES, regularexpression):pcre {
+ SUBDIRS += src_3rdparty_pcre
+ src_corelib.depends += src_3rdparty_pcre
+}
+SUBDIRS += src_corelib src_tools_qlalr
TOOLS = src_tools_moc src_tools_rcc src_tools_qlalr
win32:SUBDIRS += src_winmain
SUBDIRS += src_network src_sql src_xml src_testlib
@@ -172,7 +182,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_harfbuzzng
+ src_3rdparty_pcre src_3rdparty_harfbuzzng
sub-tools.depends = $$TOOLS
QMAKE_EXTRA_TARGETS = sub-tools