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 03:24:30 +0200
commite926ed5b1bcf7dbe2ffd684e50635785b8a02002 (patch)
treec24d1fc6c8ff30803d43ae597e10ce78cac5779b
parentc9792a21add7beeb698ae43d71580e2943dac395 (diff)
downloadqalculate-tde-e926ed5b1bcf7dbe2ffd684e50635785b8a02002.tar.gz
qalculate-tde-e926ed5b1bcf7dbe2ffd684e50635785b8a02002.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>
-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 )