From 75a1c7d2f266da3400a27357e92d0b579a0af737 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 21 Aug 2018 10:19:12 +0200 Subject: [PATCH] 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 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 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} ) -- 2.11.4.GIT