diff --git a/examples/c++/CMakeLists.txt b/examples/c++/CMakeLists.txt index 412523c6..8b773909 100644 --- a/examples/c++/CMakeLists.txt +++ b/examples/c++/CMakeLists.txt @@ -255,7 +255,9 @@ add_example (apa102) add_example (tex00) add_example (bmi160) add_example (smartdrive) -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 ()