diff --git a/examples/c++/CMakeLists.txt b/examples/c++/CMakeLists.txt index e427f933..f3e3f54f 100644 --- a/examples/c++/CMakeLists.txt +++ b/examples/c++/CMakeLists.txt @@ -240,7 +240,9 @@ add_example (rhusb) add_example (apds9930) add_example (kxcjk1013) add_example (ssd1351) -add_example (curieimu) +if (HAVE_FIRMATA) + add_example (curieimu) +endif () # These are special cases where you specify example binary, source file and module(s) include_directories (${PROJECT_SOURCE_DIR}/src) diff --git a/src/curieimu/CMakeLists.txt b/src/curieimu/CMakeLists.txt index 4955178e..d6a0a661 100644 --- a/src/curieimu/CMakeLists.txt +++ b/src/curieimu/CMakeLists.txt @@ -1,5 +1,11 @@ -set (libname "curieimu") -set (libdescription "upm Curie IMU via Firmata") -set (module_src ${libname}.cpp) -set (module_h ${libname}.hpp) -upm_module_init() +include (CheckFunctionExists) +include (CheckLibraryExists) +include (CheckIncludeFiles) +check_library_exists (${MRAA_LIBRARIES} mraa_firmata_init "" HAVE_FIRMATA) +if (HAVE_FIRMATA) + set (libname "curieimu") + set (libdescription "upm Curie IMU via Firmata") + set (module_src ${libname}.cpp) + set (module_h ${libname}.hpp) + upm_module_init () +endif ()