[evolution-data-server] Bug 773657 - Fix JHBuild issues on FreeBSD after switching to cmake



commit b54653c7462c416748e5ff8e47256cf8e05da1d4
Author: Ting-Wei Lan <lantw src gnome org>
Date:   Wed Nov 2 09:14:52 2016 +0100

    Bug 773657 - Fix JHBuild issues on FreeBSD after switching to cmake

 CMakeLists.txt               |   18 ++++++++++++------
 cmake/modules/FindKRB5.cmake |    2 ++
 2 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 863efef..c73404e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -295,7 +295,7 @@ endif(NOT PYTHON)
 # db_load checking, it's optional
 # ******************************
 
-find_program(DB_LOAD db_load)
+find_program(DB_LOAD NAMES db_load db5_load db_load-5)
 if(DB_LOAD)
        set(HAVE_DB_LOAD ON)
 else(DB_LOAD)
@@ -455,19 +455,21 @@ endif(NOT WIN32)
 # libdb checking
 # ******************************
 add_printable_variable(WITH_LIBDB "Prefix where libdb is installed" "")
+add_printable_variable(WITH_LIBDB_CFLAGS "Arguments required to compile with libdb" "")
+add_printable_variable(WITH_LIBDB_LIBS "Arguments required to link with libdb" "")
 
 if(NOT ("${WITH_LIBDB}" STREQUAL "NO"))
        if(NOT (("${WITH_LIBDB}" STREQUAL "") OR ("${WITH_LIBDB}" STREQUAL "YES")))
                set(LIBDB_CFLAGS "-I${WITH_LIBDB}/include")
                set(LIBDB_LIBS "-L${WITH_LIBDB}/lib -ldb")
        else(NOT (("${WITH_LIBDB}" STREQUAL "") OR ("${WITH_LIBDB}" STREQUAL "YES")))
-               if(("$ENV{DB_CFLAGS}" STREQUAL "") AND ("$ENV{DB_LIBS}" STREQUAL ""))
+               if(("${WITH_LIBDB_CFLAGS}" STREQUAL "") AND ("${WITH_LIBDB_LIBS}" STREQUAL ""))
                        set(LIBDB_CFLAGS "")
                        set(LIBDB_LIBS "-ldb")
-               else(("$ENV{DB_CFLAGS}" STREQUAL "") AND ("$ENV{DB_LIBS}" STREQUAL ""))
-                       set(LIBDB_CFLAGS $ENV{DB_CFLAGS})
-                       set(LIBDB_LIBS $ENV{DB_LIBS})
-               endif(("$ENV{DB_CFLAGS}" STREQUAL "") AND ("$ENV{DB_LIBS}" STREQUAL ""))
+               else(("${WITH_LIBDB_CFLAGS}" STREQUAL "") AND ("${WITH_LIBDB_LIBS}" STREQUAL ""))
+                       set(LIBDB_CFLAGS ${WITH_LIBDB_CFLAGS})
+                       set(LIBDB_LIBS ${WITH_LIBDB_LIBS})
+               endif(("${WITH_LIBDB_CFLAGS}" STREQUAL "") AND ("${WITH_LIBDB_LIBS}" STREQUAL ""))
        endif(NOT (("${WITH_LIBDB}" STREQUAL "") OR ("${WITH_LIBDB}" STREQUAL "YES")))
 
        set(CMAKE_REQUIRED_FLAGS ${LIBDB_CFLAGS})
@@ -476,6 +478,10 @@ if(NOT ("${WITH_LIBDB}" STREQUAL "NO"))
                                int main(void) { db_create(NULL, NULL, 0); return 0; }" HAVE_LIBDB)
        unset(CMAKE_REQUIRED_FLAGS)
        unset(CMAKE_REQUIRED_LIBRARIES)
+
+       if(NOT HAVE_LIBDB)
+               message(FATAL_ERROR "libdb not found. Use -DWITH_LIBDB=PATH to specify the library prefix, or 
use -DWITH_LIBDB_CFLAGS=-I/path/to/db/include and -DWITH_LIBDB_LIBS=/path/to/db/lib to specify arguments for 
compiling and linking. If you want to disable libdb, please use -DWITH_LIBDB=OFF")
+       endif(NOT HAVE_LIBDB)
 endif(NOT ("${WITH_LIBDB}" STREQUAL "NO"))
 
 # ******************************
diff --git a/cmake/modules/FindKRB5.cmake b/cmake/modules/FindKRB5.cmake
index 941923f..2447df5 100644
--- a/cmake/modules/FindKRB5.cmake
+++ b/cmake/modules/FindKRB5.cmake
@@ -76,6 +76,7 @@ if(HAVE_KRB5)
        set(HAVE_MIT_KRB5 ON)
        message(STATUS "Found MIT Kerberos 5")
 else(HAVE_KRB5)
+       unset(HAVE_KRB5 CACHE)
        set(CMAKE_REQUIRED_INCLUDES "-I${heimdal_includes}")
        set(CMAKE_REQUIRED_LIBRARIES "-L${krb_libs} ${heimdal_libs}")
        CHECK_C_SOURCE_COMPILES("#include <krb5.h>
@@ -88,6 +89,7 @@ else(HAVE_KRB5)
 endif(HAVE_KRB5)
 
 if(NOT HAVE_KRB5)
+       unset(HAVE_KRB5 CACHE)
        set(CMAKE_REQUIRED_INCLUDES "-I${sun_includes}")
        set(CMAKE_REQUIRED_LIBRARIES "-L${krb_libs} ${sun_libs}")
        CHECK_C_SOURCE_COMPILES("#include <krb5/krb5.h>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]