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>
This commit is contained in:
Konstantin Ritt 2015-03-20 17:02:15 +04:00
parent 0a27532890
commit b5e0e433cc
5 changed files with 65 additions and 41 deletions

33
src/3rdparty/pcre.pri vendored
View File

@ -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/*

44
src/3rdparty/pcre/pcre.pro vendored Normal file
View File

@ -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

7
src/3rdparty/pcre_dependency.pri vendored Normal file
View File

@ -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
}

View File

@ -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

View File

@ -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