summaryrefslogtreecommitdiff
path: root/cmake/lzo.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/lzo.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/lzo.cmake')
-rw-r--r--cmake/lzo.cmake41
1 files changed, 27 insertions, 14 deletions
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()