summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2017-02-24 17:57:44 +0000
committerVladislav Vaintroub <wlad@mariadb.com>2017-02-24 17:57:44 +0000
commitced1d2114e98e378aef45abf2b5cd13333d019e1 (patch)
tree15b4f04f898ccf7f998613e3bd7dd7cf696c616a
parent22e78ec48fcabee659849664b3a01e64e815b9aa (diff)
downloadmariadb-git-bb-10.1-wlad-xtrabackup.tar.gz
Build libarchive statically, for static packagesbb-10.1-wlad-xtrabackup
-rw-r--r--cmake/build_configurations/mysql_release.cmake4
-rw-r--r--extra/mariabackup/CMakeLists.txt14
2 files changed, 15 insertions, 3 deletions
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake
index ce07fac65bf..21e05b677ed 100644
--- a/cmake/build_configurations/mysql_release.cmake
+++ b/cmake/build_configurations/mysql_release.cmake
@@ -84,18 +84,22 @@ ENDIF()
OPTION(ENABLED_LOCAL_INFILE "" ON)
IF(WIN32)
+ SET(WITH_LIBARCHIVE STATIC CACHE STRING "")
ELSEIF(RPM)
SET(WITH_SSL system CACHE STRING "")
SET(WITH_ZLIB system CACHE STRING "")
+ SET(WITH_LIBARCHIVE ON CACHE STRING "")
ELSEIF(DEB)
SET(WITH_SSL system CACHE STRING "")
SET(WITH_ZLIB system CACHE STRING "")
SET(WITH_LIBWRAP ON)
SET(HAVE_EMBEDDED_PRIVILEGE_CONTROL ON)
+ SET(WITH_LIBARCHIVE ON CACHE STRING "")
ELSE()
SET(WITH_SSL bundled CACHE STRING "")
SET(WITH_ZLIB bundled CACHE STRING "")
SET(WITH_JEMALLOC static CACHE STRING "")
+ SET(WITH_LIBARCHIVE STATIC CACHE STRING "")
ENDIF()
IF(NOT COMPILATION_COMMENT)
diff --git a/extra/mariabackup/CMakeLists.txt b/extra/mariabackup/CMakeLists.txt
index ef98b1868ef..d39dc4cda8b 100644
--- a/extra/mariabackup/CMakeLists.txt
+++ b/extra/mariabackup/CMakeLists.txt
@@ -19,7 +19,6 @@ IF(NOT WITH_XTRABACKUP)
RETURN()
ENDIF()
-FIND_PACKAGE(LibArchive QUIET)
IF(NOT WIN32)
CHECK_SYMBOL_EXISTS(regcomp regex.h HAVE_SYSTEM_REGEX)
@@ -28,21 +27,30 @@ IF(NOT WIN32)
ENDIF()
ENDIF()
+IF(WITH_LIBARCHIVE STREQUAL "STATIC")
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib)
+ENDIF()
+
+FIND_PACKAGE(LibArchive QUIET)
+
IF(NOT DEFINED WITH_LIBARCHIVE)
IF(LibArchive_FOUND)
SET(WITH_LIBARCHIVE_DEFAULT ON)
ELSE()
SET(WITH_LIBARCHIVE_DEFAULT OFF)
ENDIF()
- OPTION(WITH_LIBARCHIVE "Use libarchive for streaming features" ${WITH_LIBARCHIVE_DEFAULT})
+ SET(WITH_LIBARCHIVE ${WITH_LIBARCHIVE_DEFAULT} CACHE STRING "Use libarchive for streaming features (ON, OFF or STATIC)" )
ENDIF()
+IF(NOT WITH_LIBARCHIVE MATCHES "^(ON|OFF|STATIC)$")
+ MESSAGE(FATAL_ERROR "Invalid value for WITH_LIBARCHIVE: '${WITH_LIBARCHIVE}'. Use one of ON, OFF or STATIC")
+ENDIF()
IF(UNIX)
SET(PIC_FLAG -fPIC)
ENDIF()
-IF(WITH_LIBARCHIVE AND NOT LibArchive_FOUND)
+IF((NOT WITH_LIBARCHIVE STREQUAL "OFF") AND (NOT LibArchive_FOUND))
IF(CMAKE_VERSION VERSION_LESS "2.8.12")
MESSAGE("libarchive can't be built, old cmake")
ELSE()