diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2015-09-18 04:05:58 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2015-09-18 04:05:58 -0500 |
commit | 69a43103d9bd250eb59cf6ad7efcafe9ca13f139 (patch) | |
tree | d1fa5328d9997a76bf9fc3823c4761e1777286db | |
parent | 7d6aacd4037d9340c773da16ef399bbc100707a9 (diff) | |
download | tdelibs-69a43103d9bd250eb59cf6ad7efcafe9ca13f139.tar.gz tdelibs-69a43103d9bd250eb59cf6ad7efcafe9ca13f139.zip |
Attempt to fix cryptsetup version detection yet again
The library authors would have done well to include a version number #define in the header...
-rw-r--r-- | CMakeLists.txt | 13 | ||||
-rw-r--r-- | config.h.cmake | 3 |
2 files changed, 15 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a5ff0f76f..f16fce036 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -697,11 +697,22 @@ if( WITH_CRYPTSETUP ) endif( NOT LIBCRYPTSETUP_FOUND ) set( HAVE_CRYPTSETUP 1 ) if ( HAVE_CRYPTSETUP ) + # save CMAKE_REQUIRED_LIBRARIES + set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ) + set( CMAKE_REQUIRED_LIBRARIES ${LIBCRYPTSETUP_LIBRARIES} ) check_c_source_compiles(" #include <stddef.h> #include <libcryptsetup.h> - int main(int argc, char *argv[]) { crypt_keyslot_info status = CRYPT_SLOT_INVALID; crypt_get_type(NULL); return 0; } " + int main(int argc, char *argv[]) { crypt_keyslot_info status = CRYPT_SLOT_INVALID; return 0; } " HAVE_NEW_CRYPTSETUP ) + check_c_source_compiles(" + #include <stddef.h> + #include <libcryptsetup.h> + int main(int argc, char *argv[]) { crypt_get_type(NULL); return 0; } " + HAVE_CRYPTSETUP_GET_TYPE ) + # restore CMAKE_REQUIRED_LIBRARIES + set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} ) + unset( bak_CMAKE_REQUIRED_LIBRARIES ) endif( ) if ( NOT HAVE_NEW_CRYPTSETUP ) set( CRYPTSETUP_OLD_API 1 ) diff --git a/config.h.cmake b/config.h.cmake index 0eb6f6781..8c104d5ce 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -151,6 +151,9 @@ /* Defines if your system uses the old cryptsetup API */ #cmakedefine CRYPTSETUP_OLD_API 1 +/* Defines if your system uses a cryptsetup API that includes crypt_get_type */ +#cmakedefine HAVE_CRYPTSETUP_GET_TYPE 1 + /* Define to 1 if you have the <ctype.h> header file. */ #cmakedefine HAVE_CTYPE_H 1 |