[evolution] Correct build when nss/nspr do not provide pkg-config files



commit 75a1c7d2f266da3400a27357e92d0b579a0af737
Author: Milan Crha <mcrha redhat com>
Date:   Tue Aug 21 10:19:12 2018 +0200

    Correct build when nss/nspr do not provide pkg-config files

 CMakeLists.txt                |  4 ++--
 cmake/modules/FindSMIME.cmake | 12 ++++++++++--
 src/composer/CMakeLists.txt   |  4 ++--
 src/mail/CMakeLists.txt       |  4 ++--
 src/smime/gui/CMakeLists.txt  |  4 ++--
 src/smime/lib/CMakeLists.txt  |  4 ++--
 6 files changed, 20 insertions(+), 12 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88f3f93909..9eedd4d96b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -568,8 +568,8 @@ unset(optupper)
 # as both gnutls and mozilla-nss have a header called "pkcs12.h" which is
 # included in smime/lib/e-pkcs12.c. It wants the Mozilla NSS one.
 
-set(CERT_UI_INCLUDES ${MANUAL_NSPR_INCLUDES})
-set(CERT_UI_LIBS ${MANUAL_NSPR_LIBS})
+set(CERT_UI_INCLUDES ${MANUAL_NSPR_INCLUDES} ${MANUAL_NSS_INCLUDES})
+set(CERT_UI_LIBS ${MANUAL_NSPR_LIBS} ${MANUAL_NSS_LIBS})
 
 # ******************************
 # Libnotify
diff --git a/cmake/modules/FindSMIME.cmake b/cmake/modules/FindSMIME.cmake
index 8ee4a179ec..2537119825 100644
--- a/cmake/modules/FindSMIME.cmake
+++ b/cmake/modules/FindSMIME.cmake
@@ -70,6 +70,8 @@ if(NOT (WITH_NSPR_INCLUDES STREQUAL ""))
        set(CMAKE_REQUIRED_INCLUDES ${WITH_NSPR_INCLUDES})
 endif(NOT (WITH_NSPR_INCLUDES STREQUAL ""))
 
+unset(_have_headers CACHE)
+
 CHECK_INCLUDE_FILES("nspr.h;prio.h" _have_headers)
 
 unset(CMAKE_REQUIRED_INCLUDES)
@@ -79,11 +81,13 @@ if(NOT _have_headers)
 endif(NOT _have_headers)
 
 set(MANUAL_NSPR_INCLUDES "${WITH_NSPR_INCLUDES}")
+string(STRIP ${MANUAL_NSPR_INCLUDES} MANUAL_NSPR_INCLUDES)
 
 set(nsprlibs "-lplc4 -lplds4 -lnspr4")
 
 set(CMAKE_REQUIRED_INCLUDES ${MANUAL_NSPR_INCLUDES})
 set(CMAKE_REQUIRED_LIBRARIES ${nsprlibs})
+unset(_nsprlibs_okay CACHE)
 CHECK_C_SOURCE_COMPILES("#include <prinit.h>
                        int main(void) { PR_Initialized(); return 0; }" _nsprlibs_okay)
 unset(CMAKE_REQUIRED_INCLUDES)
@@ -100,6 +104,7 @@ if(NOT (WITH_NSPR_LIBS STREQUAL ""))
 endif(NOT (WITH_NSPR_LIBS STREQUAL ""))
 
 set(MANUAL_NSPR_LIBS "${MANUAL_NSPR_LIBS} ${nsprlibs}")
+string(STRIP ${MANUAL_NSPR_LIBS} MANUAL_NSPR_LIBS)
 
 # *****************
 # Check for NSS 3
@@ -123,12 +128,14 @@ if(NOT _have_headers)
        message(FATAL_ERROR "NSS headers not found. Use -DWITH_NSS_INCLUDES=/path/to/nss to specify the 
include dir of NSS.")
 endif(NOT _have_headers)
 
-set(MANUAL_NSS_INCLUDES "${WITH_NSS_INCLUDES} ${MANUAL_NSPR_INCLUDES}")
+set(MANUAL_NSS_INCLUDES "${WITH_NSS_INCLUDES}")
+string(STRIP ${MANUAL_NSS_INCLUDES} MANUAL_NSS_INCLUDES)
 
 set(nsslibs "-lssl3 -lsmime3 -lnss3")
 
-set(CMAKE_REQUIRED_INCLUDES ${MANUAL_NSS_INCLUDES})
+set(CMAKE_REQUIRED_INCLUDES ${MANUAL_NSS_INCLUDES} ${MANUAL_NSPR_INCLUDES})
 set(CMAKE_REQUIRED_LIBRARIES ${nsslibs} ${nsprlibs})
+unset(_nsslibs_okay CACHE)
 CHECK_C_SOURCE_COMPILES("#include <nss.h>
                        int main(void) { NSS_Init(\"\"); return 0; }" _nsslibs_okay)
 unset(CMAKE_REQUIRED_INCLUDES)
@@ -146,6 +153,7 @@ if(NOT (WITH_NSS_LIBS STREQUAL ""))
 endif(NOT (WITH_NSS_LIBS STREQUAL ""))
 
 set(MANUAL_NSS_LIBS "${MANUAL_NSS_LIBS} ${nsslibs} ${MANUAL_NSPR_LIBS}")
+string(STRIP ${MANUAL_NSS_LIBS} MANUAL_NSS_LIBS)
 
 if(MOZILLA_NSS_LIB_DIR STREQUAL "")
        set(MOZILLA_NSS_LIB_DIR "${LIB_INSTALL_DIR}")
diff --git a/src/composer/CMakeLists.txt b/src/composer/CMakeLists.txt
index b609d8dbe5..4335920133 100644
--- a/src/composer/CMakeLists.txt
+++ b/src/composer/CMakeLists.txt
@@ -66,14 +66,14 @@ target_include_directories(evolution-mail-composer PUBLIC
        ${CMAKE_SOURCE_DIR}/src
        ${CMAKE_CURRENT_BINARY_DIR}
        ${ENCHANT_INCLUDE_DIRS}
-       ${CERT_UI_INCLUDE_DIRS}
+       ${CERT_UI_INCLUDES}
        ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
        ${GNOME_PLATFORM_INCLUDE_DIRS}
 )
 
 target_link_libraries(evolution-mail-composer
        ${DEPENDENCIES}
-       ${CERT_UI_LDFLAGS}
+       ${CERT_UI_LIBS}
        ${EVOLUTION_DATA_SERVER_LDFLAGS}
        ${GNOME_PLATFORM_LDFLAGS}
 )
diff --git a/src/mail/CMakeLists.txt b/src/mail/CMakeLists.txt
index 1aeeb5c1cd..c89e451225 100644
--- a/src/mail/CMakeLists.txt
+++ b/src/mail/CMakeLists.txt
@@ -243,7 +243,7 @@ target_include_directories(evolution-mail PUBLIC
        ${CMAKE_SOURCE_DIR}/src/shell
        ${CMAKE_SOURCE_DIR}/src/smime/lib
        ${CMAKE_SOURCE_DIR}/src/smime/gui
-       ${CERT_UI_INCLUDE_DIRS}
+       ${CERT_UI_INCLUDES}
        ${CANBERRA_INCLUDE_DIRS}
        ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
        ${GNOME_PLATFORM_INCLUDE_DIRS}
@@ -251,7 +251,7 @@ target_include_directories(evolution-mail PUBLIC
 
 target_link_libraries(evolution-mail
        ${DEPENDENCIES}
-       ${CERT_UI_LDFLAGS}
+       ${CERT_UI_LIBS}
        ${CANBERRA_LDFLAGS}
        ${EVOLUTION_DATA_SERVER_LDFLAGS}
        ${GNOME_PLATFORM_LDFLAGS}
diff --git a/src/smime/gui/CMakeLists.txt b/src/smime/gui/CMakeLists.txt
index 89ed22f99a..5efcb4232a 100644
--- a/src/smime/gui/CMakeLists.txt
+++ b/src/smime/gui/CMakeLists.txt
@@ -41,14 +41,14 @@ target_include_directories(evolution-smime PUBLIC
        ${CMAKE_SOURCE_DIR}/src
        ${CMAKE_CURRENT_BINARY_DIR}
        ${CMAKE_SOURCE_DIR}/src/smime/lib
-       ${CERT_UI_INCLUDE_DIRS}
+       ${CERT_UI_INCLUDES}
        ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
        ${GNOME_PLATFORM_INCLUDE_DIRS}
 )
 
 target_link_libraries(evolution-smime
        ${DEPENDENCIES}
-       ${CERT_UI_LDFLAGS}
+       ${CERT_UI_LIBS}
        ${EVOLUTION_DATA_SERVER_LDFLAGS}
        ${GNOME_PLATFORM_LDFLAGS}
 )
diff --git a/src/smime/lib/CMakeLists.txt b/src/smime/lib/CMakeLists.txt
index 7f15427da4..0826c417fd 100644
--- a/src/smime/lib/CMakeLists.txt
+++ b/src/smime/lib/CMakeLists.txt
@@ -36,14 +36,14 @@ target_include_directories(essmime PUBLIC
        ${CMAKE_BINARY_DIR}/src
        ${CMAKE_SOURCE_DIR}/src
        ${CMAKE_CURRENT_BINARY_DIR}
-       ${CERT_UI_INCLUDE_DIRS}
+       ${CERT_UI_INCLUDES}
        ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
        ${GNOME_PLATFORM_INCLUDE_DIRS}
 )
 
 target_link_libraries(essmime
        ${DEPENDENCIES}
-       ${CERT_UI_LDFLAGS}
+       ${CERT_UI_LIBS}
        ${EVOLUTION_DATA_SERVER_LDFLAGS}
        ${GNOME_PLATFORM_LDFLAGS}
 )


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