diff --git a/CMakeLists.txt b/CMakeLists.txt index ecffbaa..96f53b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,9 @@ find_package (FUSE REQUIRED) include_directories (${FUSE_INCLUDE_DIR}) add_definitions (-D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26) +find_package (GCrypt REQUIRED) +include_directories (${GCRYPT_INCLUDE_DIRS}) + # Check for OpenSSL. find_package (OpenSSL REQUIRED) include_directories (${OPENSSL_INCLUDE_DIR}) @@ -152,6 +155,7 @@ target_link_libraries(encfs ${FUSE_LIBRARIES} ${OPENSSL_LIBRARIES} ${TINYXML_LIBRARIES} + ${GCRYPT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) install (TARGETS encfs DESTINATION lib) diff --git a/cmake/FindGCrypt.cmake b/cmake/FindGCrypt.cmake new file mode 100644 index 0000000..df3586b --- /dev/null +++ b/cmake/FindGCrypt.cmake @@ -0,0 +1,70 @@ +# - Try to find GCrypt +# Once done this will define +# +# GCRYPT_FOUND - system has GCrypt +# GCRYPT_INCLUDE_DIRS - the GCrypt include directory +# GCRYPT_LIBRARIES - Link these to use GCrypt +# GCRYPT_DEFINITIONS - Compiler switches required for using GCrypt +# +#============================================================================= +# Copyright (c) 2009-2011 Andreas Schneider +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# + +if (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS) + # in cache already + # set(GCRYPT_FOUND TRUE) +else (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS) + + set(_GCRYPT_ROOT_PATHS + "$ENV{PROGRAMFILES}/libgcrypt" + ) + + find_path(GCRYPT_ROOT_DIR + NAMES + include/gcrypt.h + PATHS + ${_GCRYPT_ROOT_PATHS} + ) + mark_as_advanced(ZLIB_ROOT_DIR) + + find_path(GCRYPT_INCLUDE_DIR + NAMES + gcrypt.h + PATHS + /usr/local/include + /opt/local/include + /sw/include + /usr/lib/sfw/include + ${GCRYPT_ROOT_DIR}/include + ) + set(GCRYPT_INCLUDE_DIRS ${GCRYPT_INCLUDE_DIR}) + + find_library(GCRYPT_LIBRARY + NAMES + gcrypt + gcrypt11 + libgcrypt-11 + PATHS + /opt/local/lib + /sw/lib + /usr/sfw/lib/64 + /usr/sfw/lib + ${GCRYPT_ROOT_DIR}/lib + ) + set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(GCrypt DEFAULT_MSG GCRYPT_LIBRARIES GCRYPT_INCLUDE_DIRS) + + # show the GCRYPT_INCLUDE_DIRS and GCRYPT_LIBRARIES variables only in the advanced view + mark_as_advanced(GCRYPT_INCLUDE_DIRS GCRYPT_LIBRARIES) + +endif (GCRYPT_LIBRARIES AND GCRYPT_INCLUDE_DIRS)