Define individual CMake variables for the different pigpio libraries.
authorAlexander Schaefer <alexander.c.schaefer@gmail.com>
Sat, 12 Mar 2016 20:35:51 +0000 (21:35 +0100)
committerAlexander Schaefer <alexander.c.schaefer@gmail.com>
Sat, 12 Mar 2016 20:50:16 +0000 (21:50 +0100)
The user has to specify which library he wants to link against, as all libraries define functions like gpio_write().

util/Findpigpio.cmake

index 717699f94fea703788f4130c2702fc30adc0251b..6c94ee053b66c008fd822f5f09a6233b26933452 100644 (file)
@@ -1,5 +1,5 @@
 ################################################################################
-### Find the pigpio includes and shared libraries.
+### Find the pigpio shared libraries.
 ################################################################################
 
 # Find the path to the pigpio includes.
@@ -7,19 +7,24 @@ find_path(pigpio_INCLUDE_DIR
        NAMES pigpio.h pigpiod_if.h pigpiod_if2.h
        HINTS /usr/local/include)
        
-# Find the path to the pigpio libraries.
+# Find the pigpio libraries.
 find_library(pigpio_LIBRARY 
-       NAMES libpigpio.so libpigpiod_if.so libpigpiod_if2.so
+       NAMES libpigpio.so
+       HINTS /usr/local/lib)
+find_library(pigpiod_if_LIBRARY 
+       NAMES libpigpiod_if.so
+       HINTS /usr/local/lib)
+find_library(pigpiod_if2_LIBRARY 
+       NAMES libpigpiod_if2.so
        HINTS /usr/local/lib)
     
 # Set the pigpio variables to plural form to make them accessible for 
 # the paramount cmake modules.
 set(pigpio_INCLUDE_DIRS ${pigpio_INCLUDE_DIR})
 set(pigpio_INCLUDES     ${pigpio_INCLUDE_DIR})
-set(pigpio_LIBRARIES    ${pigpio_LIBRARY})
 
 # Handle REQUIRED, QUIET, and version arguments 
 # and set the <packagename>_FOUND variable.
 find_package_handle_standard_args(pigpio 
     DEFAULT_MSG 
-    pigpio_INCLUDE_DIR pigpio_LIBRARY)
+    pigpio_INCLUDE_DIR pigpio_LIBRARY pigpiod_if_LIBRARY pigpiod_if2_LIBRARY)