STRING(TOLOWER "${HASH}" lower_hash)
STRING(TOUPPER "${HASH}" hash)
+ SET(HASH_REQUIRED_INCLUDES)
+ SET(TRY_HASH_REQUIRED_INCLUDES
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_CURRENT_SOURCE_DIR}/libarchive")
+ SET(HASH_REQUIRED_LIBS)
+ SET(TRY_HASH_REQUIRED_LIBS)
IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
- LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES})
+ SET(HASH_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ SET(TRY_HASH_REQUIRED_INCLUDES
+ "${TRY_HASH_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}")
+ SET(HASH_REQUIRED_LIBS ${OPENSSL_LIBRARIES})
+ SET(TRY_HASH_REQUIRED_LIBS
+ "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}")
ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
SET(SOURCE "#define ${hash}_COMPILE_TEST
TRY_COMPILE(ARCHIVE_HASH_${HASH}_${IMPLEMENTATION}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_hash_md.c
- CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_CURRENT_SOURCE_DIR}/libarchive"
+ CMAKE_FLAGS
+ "${TRY_HASH_REQUIRED_LIBS}"
+ "${TRY_HASH_REQUIRED_INCLUDES}"
OUTPUT_VARIABLE OUTPUT)
IF (ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})
MESSAGE(STATUS "Checking support for ARCHIVE_HASH_${HASH}_${IMPLEMENTATION} -- found")
+ IF (HASH_REQUIRED_INCLUDES)
+ INCLUDE_DIRECTORIES(${HASH_REQUIRED_INCLUDES})
+ ENDIF (HASH_REQUIRED_INCLUDES)
+ IF (HASH_REQUIRED_LIBS)
+ LIST(APPEND ADDITIONAL_LIBS ${HASH_REQUIRED_LIBS})
+ LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
+ ENDIF (HASH_REQUIRED_LIBS)
BREAK()
ENDIF (ARCHIVE_HASH_${HASH}_${IMPLEMENTATION})