summaryrefslogtreecommitdiff
path: root/cmake/lz4.cmake
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@skysql.com>2015-02-04 19:31:16 +0200
committerJan Lindström <jan.lindstrom@skysql.com>2015-02-04 19:31:16 +0200
commit41dc186aa8a5340c78e783a635a95173cc46a697 (patch)
treec7905eb05feba5373fb274ca3727fc8a702ff40a /cmake/lz4.cmake
parentbfe703a45888107936c184076eaead28b8b8a90a (diff)
downloadmariadb-git-41dc186aa8a5340c78e783a635a95173cc46a697.tar.gz
MDEV-6633: Remove magic dependencies for InnoDB compression methods
Added options for each compression type that can be disabled i.e. bzip2, lz4, lzma and lzo.
Diffstat (limited to 'cmake/lz4.cmake')
-rw-r--r--cmake/lz4.cmake39
1 files changed, 26 insertions, 13 deletions
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