From e57b0da00b232cb42200c51440b4fe194ff19100 Mon Sep 17 00:00:00 2001 From: Ghislain MARY <ghislain.mary@belledonne-communications.com> Date: Mon, 23 Mar 2015 18:14:51 +0100 Subject: [PATCH] Add check for zlib when building with CMake. --- CMakeLists.txt | 5 ++++ cmake/FindZlib.cmake | 55 ++++++++++++++++++++++++++++++++++++++++++ config.h.cmake | 3 ++- coreapi/CMakeLists.txt | 3 +++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 cmake/FindZlib.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index fad26da226..770d448b66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,6 +94,7 @@ endif() find_package(BelleSIP REQUIRED) find_package(Mediastreamer2 REQUIRED) find_package(XML2 REQUIRED) +find_package(Zlib) if(ENABLE_UNIT_TESTS) find_package(CUnit) if(CUNIT_FOUND) @@ -148,6 +149,10 @@ include_directories( ${MEDIASTREAMER2_INCLUDE_DIRS} ${XML2_INCLUDE_DIRS} ) +if(ZLIB_FOUND) + include_directories(${ZLIB_INCLUDE_DIRS}) + set(HAVE_ZLIB 1) +endif() if(SQLITE3_FOUND) include_directories(${SQLITE3_INCLUDE_DIRS}) add_definitions("-DMSG_STORAGE_ENABLED") diff --git a/cmake/FindZlib.cmake b/cmake/FindZlib.cmake new file mode 100644 index 0000000000..6252049bc7 --- /dev/null +++ b/cmake/FindZlib.cmake @@ -0,0 +1,55 @@ +############################################################################ +# FindZlib.txt +# Copyright (C) 2015 Belledonne Communications, Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ +# +# - Find the zlib include file and library +# +# ZLIB_FOUND - system has zlib +# ZLIB_INCLUDE_DIRS - the zlib include directory +# ZLIB_LIBRARIES - The libraries needed to use zlib + +set(_ZLIB_ROOT_PATHS + ${CMAKE_INSTALL_PREFIX} +) + +find_path(ZLIB_INCLUDE_DIRS + NAMES zlib.h + HINTS _ZLIB_ROOT_PATHS + PATH_SUFFIXES include +) + +if(ZLIB_INCLUDE_DIRS) + set(HAVE_ZLIB_H 1) +endif() + +find_library(ZLIB_LIBRARIES + NAMES z zlib zlibd + HINTS ${_ZLIB_ROOT_PATHS} + PATH_SUFFIXES bin lib +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Zlib + DEFAULT_MSG + ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES HAVE_ZLIB_H +) + +mark_as_advanced(ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES HAVE_ZLIB_H) diff --git a/config.h.cmake b/config.h.cmake index cd6aa1cc35..3adb3cae41 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -39,5 +39,6 @@ #cmakedefine BUILD_WIZARD #cmakedefine HAVE_NOTIFY4 +#cmakedefine HAVE_ZLIB 1 #cmakedefine HAVE_CU_GET_SUITE 1 -#cmakedefine HAVE_CU_CURSES 1 \ No newline at end of file +#cmakedefine HAVE_CU_CURSES 1 diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index 57094e810b..68cc280b14 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -127,6 +127,9 @@ set(LIBS ${MEDIASTREAMER2_LIBRARIES} ${XML2_LIBRARIES} ) +if(ZLIB_FOUND) + list(APPEND LIBS ${ZLIB_LIBRARIES}) +endif() if(SQLITE3_FOUND) list(APPEND LIBS ${SQLITE3_LIBRARIES}) endif() -- GitLab