summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/bzip2.cmake24
-rw-r--r--cmake/lz4.cmake39
-rw-r--r--cmake/lzma.cmake24
-rw-r--r--cmake/lzo.cmake41
4 files changed, 85 insertions, 43 deletions
diff --git a/cmake/bzip2.cmake b/cmake/bzip2.cmake
index f0b17745b24..0c15853d0b9 100644
--- a/cmake/bzip2.cmake
+++ b/cmake/bzip2.cmake
@@ -12,14 +12,22 @@
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-MACRO (MYSQL_CHECK_BZIP2)
+SET(WITH_INNODB_BZIP2 AUTO CACHE STRING
+ "Build with bzip2. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'")
-CHECK_INCLUDE_FILES(bzlib.h HAVE_BZLIB2_H)
-CHECK_LIBRARY_EXISTS(bz2 BZ2_bzBuffToBuffCompress "" HAVE_BZLIB2_COMPRESS)
-CHECK_LIBRARY_EXISTS(bz2 BZ2_bzBuffToBuffDecompress "" HAVE_BZLIB2_DECOMPRESS)
+MACRO (MYSQL_CHECK_BZIP2)
+ IF (WITH_INNODB_BZIP2 STREQUAL "ON" OR WITH_INNODB_BZIP2 STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(bzlib.h HAVE_BZLIB2_H)
+ CHECK_LIBRARY_EXISTS(bz2 BZ2_bzBuffToBuffCompress "" HAVE_BZLIB2_COMPRESS)
+ CHECK_LIBRARY_EXISTS(bz2 BZ2_bzBuffToBuffDecompress "" HAVE_BZLIB2_DECOMPRESS)
-IF (HAVE_BZLIB2_COMPRESS AND HAVE_BZLIB2_DECOMPRESS AND HAVE_BZLIB2_H)
- ADD_DEFINITIONS(-DHAVE_BZIP2=1)
- LINK_LIBRARIES(bz2)
-ENDIF()
+ IF (HAVE_BZLIB2_COMPRESS AND HAVE_BZLIB2_DECOMPRESS AND HAVE_BZLIB2_H)
+ ADD_DEFINITIONS(-DHAVE_BZIP2=1)
+ LINK_LIBRARIES(bz2)
+ ELSE()
+ IF (WITH_INNODB_BZIP2 STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required bzip2 library is not found")
+ ENDIF()
+ ENDIF()
+ ENDIF()
ENDMACRO()
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
index bb2300891eb..1607c68c5fb 100644
--- a/cmake/lz4.cmake
+++ b/cmake/lz4.cmake
@@ -12,24 +12,37 @@
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-MACRO (MYSQL_CHECK_LZ4)
+SET(WITH_INNODB_LZ4 AUTO CACHE STRING
+ "Build with lz4. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'")
-CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
-CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
+MACRO (MYSQL_CHECK_LZ4)
+ IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
+ CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
-IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
- ADD_DEFINITIONS(-DHAVE_LZ4=1)
- LINK_LIBRARIES(lz4)
-ENDIF()
+ IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
+ ADD_DEFINITIONS(-DHAVE_LZ4=1)
+ LINK_LIBRARIES(lz4)
+ ELSE()
+ IF (WITH_INNODB_LZ4 STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required lz4 library is not found")
+ ENDIF()
+ ENDIF()
+ ENDIF()
ENDMACRO()
MACRO (MYSQL_CHECK_LZ4_STATIC)
-
- CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
- CHECK_LIBRARY_EXISTS(liblz4.a LZ4_compress_limitedOutput "" HAVE_LZ4_LIB)
+ IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
+ CHECK_LIBRARY_EXISTS(liblz4.a LZ4_compress_limitedOutput "" HAVE_LZ4_LIB)
- IF(HAVE_LZ4_LIB AND HAVE_LZ4_H)
- ADD_DEFINITIONS(-DHAVE_LZ4=1)
- LINK_LIBRARIES(liblz4.a)
+ IF(HAVE_LZ4_LIB AND HAVE_LZ4_H)
+ ADD_DEFINITIONS(-DHAVE_LZ4=1)
+ LINK_LIBRARIES(liblz4.a)
+ ELSE()
+ IF (WITH_INNODB_LZ4 STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required lz4 library is not found")
+ ENDIF()
+ ENDIF()
ENDIF()
ENDMACRO() \ No newline at end of file
diff --git a/cmake/lzma.cmake b/cmake/lzma.cmake
index 5b2d6140909..12a28a17a43 100644
--- a/cmake/lzma.cmake
+++ b/cmake/lzma.cmake
@@ -12,14 +12,22 @@
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-MACRO (MYSQL_CHECK_LZMA)
+SET(WITH_INNODB_LZMA AUTO CACHE STRING
+ "Build with lzma. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'")
-CHECK_INCLUDE_FILES(lzma.h HAVE_LZMA_H)
-CHECK_LIBRARY_EXISTS(lzma lzma_stream_buffer_decode "" HAVE_LZMA_DECODE)
-CHECK_LIBRARY_EXISTS(lzma lzma_easy_buffer_encode "" HAVE_LZMA_ENCODE)
+MACRO (MYSQL_CHECK_LZMA)
+ IF (WITH_INNODB_LZMA STREQUAL "ON" OR WITH_INNODB_LZMA STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(lzma.h HAVE_LZMA_H)
+ CHECK_LIBRARY_EXISTS(lzma lzma_stream_buffer_decode "" HAVE_LZMA_DECODE)
+ CHECK_LIBRARY_EXISTS(lzma lzma_easy_buffer_encode "" HAVE_LZMA_ENCODE)
-IF (HAVE_LZMA_DECODE AND HAVE_LZMA_ENCODE AND HAVE_LZMA_H)
- ADD_DEFINITIONS(-DHAVE_LZMA=1)
- LINK_LIBRARIES(lzma)
-ENDIF()
+ IF (HAVE_LZMA_DECODE AND HAVE_LZMA_ENCODE AND HAVE_LZMA_H)
+ ADD_DEFINITIONS(-DHAVE_LZMA=1)
+ LINK_LIBRARIES(lzma)
+ ELSE()
+ IF (WITH_INNODB_LZMA STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required lzma library is not found")
+ ENDIF()
+ ENDIF()
+ ENDIF()
ENDMACRO()
diff --git a/cmake/lzo.cmake b/cmake/lzo.cmake
index 0940565c75e..07cba011c06 100644
--- a/cmake/lzo.cmake
+++ b/cmake/lzo.cmake
@@ -12,24 +12,37 @@
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-MACRO (MYSQL_CHECK_LZO_STATIC)
+SET(WITH_INNODB_LZO AUTO CACHE STRING
+ "Build with lzo. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'")
-CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
-CHECK_LIBRARY_EXISTS(liblzo2.a lzo1x_1_compress "" HAVE_LZO_LIB)
+MACRO (MYSQL_CHECK_LZO_STATIC)
+ IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
+ CHECK_LIBRARY_EXISTS(liblzo2.a lzo1x_1_compress "" HAVE_LZO_LIB)
-IF(HAVE_LZO_LIB AND HAVE_LZO_H)
- ADD_DEFINITIONS(-DHAVE_LZO=1)
- LINK_LIBRARIES(liblzo2.a)
-ENDIF()
+ IF(HAVE_LZO_LIB AND HAVE_LZO_H)
+ ADD_DEFINITIONS(-DHAVE_LZO=1)
+ LINK_LIBRARIES(liblzo2.a)
+ ELSE()
+ IF (WITH_INNODB_LZO STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required lzo library is not found")
+ ENDIF()
+ ENDIF()
+ ENDIF()
ENDMACRO()
MACRO (MYSQL_CHECK_LZO)
+ IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
+ CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
+ CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
-CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
-CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
-
-IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
- ADD_DEFINITIONS(-DHAVE_LZO=1)
- LINK_LIBRARIES(lzo2)
-ENDIF()
+ IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
+ ADD_DEFINITIONS(-DHAVE_LZO=1)
+ LINK_LIBRARIES(lzo2)
+ ELSE()
+ IF (WITH_INNODB_LZO STREQUAL "ON")
+ MESSAGE(FATAL_ERROR "Required lzo library is not found")
+ ENDIF()
+ ENDIF()
+ ENDIF()
ENDMACRO()