list(APPEND APPS ble-inspect-device) list(APPEND APPS ble-scan) list(APPEND APPS sample-add-timestamp) list(APPEND APPS sample-convert) list(APPEND APPS sample-select) list(APPEND APPS sm-db-insert) list(APPEND APPS sm-db-select) list(APPEND APPS sm-get-value) list(APPEND APPS sm-serial-read) list(APPEND APPS sm-serial-read-all) add_library(apps OBJECT apps.cpp apps.h SoilMoisture.cpp SoilMoisture.h) target_include_directories(apps PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC "${PROJECT_SOURCE_DIR}/include" PUBLIC "${PROJECT_SOURCE_DIR}/json/src" PUBLIC "${PROJECT_SOURCE_DIR}/sensor/include" PUBLIC "${LOG4CPLUS_INCLUDE_DIRECTORIES}") # Boost find_package(Boost COMPONENTS regex system program_options REQUIRED) # Bluez pkg_check_modules(BLUEZ bluez REQUIRED) # pthreads find_package(Threads REQUIRED) pkg_check_modules(PQXX libpqxx REQUIRED) find_path(LOG4CPLUS_INCLUDE_DIRECTORIES log4cplus/logger.h) if(LOG4CPLUS_INCLUDE_DIRECTORIES MATCHES NOTFOUND) message(FATAL_ERROR "Could not find log4cplus header files") endif() find_library(LOG4CPLUS_LIBRARIES log4cplus) if(LOG4CPLUS_LIBRARIES MATCHES NOTFOUND) message(FATAL_ERROR "Could not find log4cplus library files") endif() foreach(app ${APPS}) add_executable(${app} ${app}.cpp $) target_include_directories(${app} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC "${PROJECT_SOURCE_DIR}/include" PUBLIC "${PROJECT_SOURCE_DIR}/json/src" PUBLIC "${PROJECT_SOURCE_DIR}/sensor/include" PUBLIC "${LOG4CPLUS_INCLUDE_DIRECTORIES}") target_link_libraries(${app} ble trygvis-sensor ${Boost_LIBRARIES} ${BLUEZ_LIBRARIES} ${PQXX_LIBRARIES} ${LOG4CPLUS_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS ${app} RUNTIME DESTINATION bin) endforeach()