summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-08-18 03:06:33 +0200
committerSlávek Banko <slavek.banko@axis.cz>2021-08-18 14:31:12 +0200
commit337cc14529b4362f1d5c26fccdee361dc3aa0445 (patch)
treeea32adc5a3392f1a9d7f8c876f3d053aea98616c
parent8cf5fe99d8b20f0683c62434fd5305b29e1dfa2f (diff)
downloadqalculate-tde-337cc145.tar.gz
qalculate-tde-337cc145.zip
CMake: Add a check whether QALCULATE_LIBRARIES works
without need to explicitly add CLN_LIBRARIES. Signed-off-by: Slávek Banko <slavek.banko@axis.cz> (cherry picked from commit e926ed5b1bcf7dbe2ffd684e50635785b8a02002)
-rw-r--r--ConfigureChecks.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 2f6cb2a..29f3e03 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -37,3 +37,26 @@ pkg_search_module( QALCULATE libqalculate )
if( NOT QALCULATE_FOUND )
tde_message_fatal( "libqalculate is required but was not found on your system." )
endif( NOT QALCULATE_FOUND )
+
+
+##### check if libqalculate requires explicitly link libcln
+
+tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
+set( CMAKE_REQUIRED_INCLUDES ${QALCULATE_INCLUDE_DIRS} )
+set( CMAKE_REQUIRED_LIBRARIES ${QALCULATE_LIBRARIES} )
+
+check_cxx_source_compiles("
+ #include <libqalculate/qalculate.h>
+ int main(int argc, char **argv) { Number n; return 0; } "
+ QALCULATE_LIBRARIES_WORKS
+)
+if( NOT QALCULATE_LIBRARIES_WORKS )
+ pkg_search_module( CLN cln )
+ if( NOT CLN_FOUND )
+ tde_message_fatal( "libqalculate require CLN library but it was not found on your system." )
+ endif( NOT CLN_FOUND )
+ list( APPEND QALCULATE_LIBRARIES ${CLN_LIBRARIES} )
+ message( STATUS "Added CLN_LIBRARIES to QALCULATE_LIBRARIES" )
+endif( )
+
+tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )