summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--client/CMakeLists.txt3
-rw-r--r--cmake/jemalloc.cmake2
-rw-r--r--cmake/pcre.cmake16
-rw-r--r--cmake/plugin.cmake3
-rw-r--r--libmysql/CMakeLists.txt3
-rw-r--r--libmysqld/CMakeLists.txt3
-rw-r--r--libmysqld/examples/CMakeLists.txt3
-rw-r--r--plugin/feedback/CMakeLists.txt3
-rw-r--r--plugin/qc_info/CMakeLists.txt3
-rw-r--r--sql/CMakeLists.txt3
-rw-r--r--storage/perfschema/CMakeLists.txt3
-rw-r--r--storage/perfschema/unittest/CMakeLists.txt3
-rw-r--r--unittest/mysys/CMakeLists.txt3
14 files changed, 31 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4859bb89e0b..f8ebddc70fe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -153,6 +153,7 @@ INCLUDE(readline)
INCLUDE(libutils)
INCLUDE(dtrace)
INCLUDE(jemalloc)
+INCLUDE(pcre)
INCLUDE(ctest)
INCLUDE(plugin)
INCLUDE(install_macros)
@@ -362,6 +363,8 @@ MYSQL_CHECK_READLINE()
SET(MALLOC_LIBRARY "system")
CHECK_JEMALLOC()
+CHECK_PCRE()
+
#
# Setup maintainer mode options. Platform checks are
# not run with the warning options as to not perturb fragile checks
@@ -397,7 +400,6 @@ ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(dbug)
ADD_SUBDIRECTORY(strings)
ADD_SUBDIRECTORY(vio)
-ADD_SUBDIRECTORY(pcre)
ADD_SUBDIRECTORY(mysys)
ADD_SUBDIRECTORY(mysys_ssl)
ADD_SUBDIRECTORY(libmysql)
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
index 7f725e09006..1bf466c1e47 100644
--- a/client/CMakeLists.txt
+++ b/client/CMakeLists.txt
@@ -15,8 +15,7 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/mysys_ssl
${ZLIB_INCLUDE_DIR}
${SSL_INCLUDE_DIRS}
diff --git a/cmake/jemalloc.cmake b/cmake/jemalloc.cmake
index 3df17f362bc..b677f226266 100644
--- a/cmake/jemalloc.cmake
+++ b/cmake/jemalloc.cmake
@@ -46,7 +46,7 @@ ELSE()
ENDIF()
SET(WITH_JEMALLOC ${WITH_JEMALLOC_DEFAULT} CACHE STRING
- "Which jemalloc to use (possible values are 'no', 'bundled', 'system', 'yes' (system if possible, otherwise bundled)")
+ "Which jemalloc to use. Possible values are 'no', 'bundled', 'system', 'yes' (system if possible, otherwise bundled)")
MACRO (CHECK_JEMALLOC)
IF(WITH_JEMALLOC STREQUAL "system" OR WITH_JEMALLOC STREQUAL "yes")
diff --git a/cmake/pcre.cmake b/cmake/pcre.cmake
new file mode 100644
index 00000000000..45d9bc01ddb
--- /dev/null
+++ b/cmake/pcre.cmake
@@ -0,0 +1,16 @@
+SET(WITH_PCRE "auto" CACHE STRING
+ "Which pcre to use (possible values are 'bundled', 'system', or 'auto')")
+
+MACRO (CHECK_PCRE)
+ IF(WITH_PCRE STREQUAL "system" OR WITH_PCRE STREQUAL "auto")
+ CHECK_LIBRARY_EXISTS(pcre pcre_stack_guard "" HAVE_PCRE)
+ ENDIF()
+ IF(NOT HAVE_PCRE)
+ IF (WITH_PCRE STREQUAL "system")
+ MESSAGE(FATAL_ERROR "system pcre is not found or unusable")
+ ENDIF()
+ SET(PCRE_INCLUDES ${CMAKE_BINARY_DIR}/pcre ${CMAKE_SOURCE_DIR}/pcre)
+ ADD_SUBDIRECTORY(pcre)
+ ENDIF()
+ENDMACRO()
+
diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake
index d0847f1f84e..07372849a10 100644
--- a/cmake/plugin.cmake
+++ b/cmake/plugin.cmake
@@ -37,8 +37,7 @@ MACRO(MYSQL_ADD_PLUGIN)
# Add common include directories
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${SSL_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIR})
diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
index 3a6cb9d0788..e3c932c88f0 100644
--- a/libmysql/CMakeLists.txt
+++ b/libmysql/CMakeLists.txt
@@ -17,8 +17,7 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/libmysql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/strings
${SSL_INCLUDE_DIRS}
${SSL_INTERNAL_INCLUDE_DIRS}
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
index 3bcaab597b7..d0c3fafdf69 100644
--- a/libmysqld/CMakeLists.txt
+++ b/libmysqld/CMakeLists.txt
@@ -22,8 +22,7 @@ ${CMAKE_SOURCE_DIR}/libmysql
${CMAKE_SOURCE_DIR}/libmysqld
${CMAKE_SOURCE_DIR}/sql
${CMAKE_BINARY_DIR}/sql
-${CMAKE_BINARY_DIR}/pcre
-${CMAKE_SOURCE_DIR}/pcre
+${PCRE_INCLUDES}
${ZLIB_INCLUDE_DIR}
${SSL_INCLUDE_DIRS}
${SSL_INTERNAL_INCLUDE_DIRS}
diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt
index cf23fdc4a6a..d47638ad2f9 100644
--- a/libmysqld/examples/CMakeLists.txt
+++ b/libmysqld/examples/CMakeLists.txt
@@ -15,8 +15,7 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/libmysqld/include
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/sql
${MY_READLINE_INCLUDE_DIR}
)
diff --git a/plugin/feedback/CMakeLists.txt b/plugin/feedback/CMakeLists.txt
index 919324fb63b..9807eadbe34 100644
--- a/plugin/feedback/CMakeLists.txt
+++ b/plugin/feedback/CMakeLists.txt
@@ -1,6 +1,5 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${SSL_INCLUDE_DIRS})
SET(FEEDBACK_SOURCES feedback.cc sender_thread.cc
diff --git a/plugin/qc_info/CMakeLists.txt b/plugin/qc_info/CMakeLists.txt
index ca59130b072..d10f4547227 100644
--- a/plugin/qc_info/CMakeLists.txt
+++ b/plugin/qc_info/CMakeLists.txt
@@ -1,6 +1,5 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/extra/yassl/include)
MYSQL_ADD_PLUGIN(QUERY_CACHE_INFO qc_info.cc)
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
index 187a4e9de5e..ad4b12813d3 100644
--- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt
@@ -16,8 +16,7 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql
-${CMAKE_BINARY_DIR}/pcre
-${CMAKE_SOURCE_DIR}/pcre
+${PCRE_INCLUDES}
${ZLIB_INCLUDE_DIR}
${SSL_INCLUDE_DIRS}
${CMAKE_BINARY_DIR}/sql
diff --git a/storage/perfschema/CMakeLists.txt b/storage/perfschema/CMakeLists.txt
index 422d29464ae..718baa8296b 100644
--- a/storage/perfschema/CMakeLists.txt
+++ b/storage/perfschema/CMakeLists.txt
@@ -16,8 +16,7 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/extra/yassl/include)
ADD_DEFINITIONS(-DMYSQL_SERVER)
diff --git a/storage/perfschema/unittest/CMakeLists.txt b/storage/perfschema/unittest/CMakeLists.txt
index d42d448d1e9..b44d0173029 100644
--- a/storage/perfschema/unittest/CMakeLists.txt
+++ b/storage/perfschema/unittest/CMakeLists.txt
@@ -15,8 +15,7 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/include/mysql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/sql
${SSL_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/unittest/mytap
diff --git a/unittest/mysys/CMakeLists.txt b/unittest/mysys/CMakeLists.txt
index 6ea764070f1..a6003b7c51d 100644
--- a/unittest/mysys/CMakeLists.txt
+++ b/unittest/mysys/CMakeLists.txt
@@ -14,8 +14,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql
- ${CMAKE_BINARY_DIR}/pcre
- ${CMAKE_SOURCE_DIR}/pcre
+ ${PCRE_INCLUDES}
${CMAKE_SOURCE_DIR}/extra/yassl/include)
MY_ADD_TESTS(bitmap base64 my_vsnprintf my_atomic my_rdtsc lf my_malloc