SVN commit 609458 by neundorf: --change FindSamba so that it follows the same style as FindCups.cmake: set(SAMBA_REQUIRE_SMBC_SET_CONTEXT TRUE) so that Find_package(Samba) only succeeds if this functions exists Alex M +8 -2 cmake/modules/FindSamba.cmake M +5 -3 runtime/kioslave/CMakeLists.txt --- trunk/KDE/kdebase/cmake/modules/FindSamba.cmake #609457:609458 @@ -4,7 +4,8 @@ # SAMBA_FOUND - system has SAMBA # SAMBA_INCLUDE_DIR - the SAMBA include directory # SAMBA_LIBRARIES - The libraries needed to use SAMBA -# SAMBA_HAVE_SMBC_SET_CONTEXT - true if libsmbclient has smbc_set_context() +# Set SAMBA_REQUIRE_SMBC_SET_CONTEXT to TRUE if you need a version of Samba +# which comes with smbc_set_context() # Copyright (c) 2006, Alexander Neundorf, # @@ -13,7 +14,7 @@ if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) # Already in cache, be silent - set(SAMBA_FIND_QUIETLY TRUE) + set(Samba_FIND_QUIETLY TRUE) endif(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) find_path(SAMBA_INCLUDE_DIR NAMES libsmbclient.h ) @@ -30,6 +31,11 @@ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${SAMBA_LIBRARIES}) check_symbol_exists(smbc_set_context "libsmbclient.h" SAMBA_HAVE_SMBC_SET_CONTEXT) macro_pop_required_vars() + # fail if smbc_set_context() was required but hasn't been found + if (SAMBA_REQUIRE_SMBC_SET_CONTEXT AND NOT SAMBA_HAVE_SMBC_SET_CONTEXT) + set(SAMBA_FOUND FALSE) + endif (SAMBA_REQUIRE_SMBC_SET_CONTEXT AND NOT SAMBA_HAVE_SMBC_SET_CONTEXT) + else(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) set(SAMBA_FOUND FALSE) set(SAMBA_HAVE_SMBC_SET_CONTEXT FALSE) --- trunk/KDE/kdebase/runtime/kioslave/CMakeLists.txt #609457:609458 @@ -1,7 +1,9 @@ +# we need a version of samba which has already smbc_set_context(), Alex +set(SAMBA_REQUIRE_SMBC_SET_CONTEXT TRUE) macro_optional_find_package(Samba) -macro_log_feature(SAMBA_HAVE_SMBC_SET_CONTEXT "Samba" "Sambas libsmbclient is required for the smb-ioslave. A version which already has smbc_set_context() is required" "http://www.samba.org") +macro_log_feature(SAMBA_FOUND "Samba" "Sambas libsmbclient is required for the smb-ioslave. A version which already has smbc_set_context() is required" "http://www.samba.org") add_subdirectory( about ) add_subdirectory( cgi ) @@ -32,8 +34,8 @@ add_subdirectory( nfs ) endif(NOT WIN32) -if(SAMBA_FOUND AND SAMBA_HAVE_SMBC_SET_CONTEXT) +if(SAMBA_FOUND) add_subdirectory(smb) -endif(SAMBA_FOUND AND SAMBA_HAVE_SMBC_SET_CONTEXT) +endif(SAMBA_FOUND) add_subdirectory(ldap)