Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMustafa Ozcelikors2017-11-28 20:01:11 +0000
committerMustafa Ozcelikors2017-11-28 20:01:11 +0000
commit9620dc232f864876ef3a988a26a0d6f42c2f6aee (patch)
tree7db0e528d8a07f3433c97eb246a4f50a748ca35f
parent350fb5f15c8aacb82f62499a79afe78401cfeb20 (diff)
downloadorg.eclipse.app4mc.examples-9620dc232f864876ef3a988a26a0d6f42c2f6aee.tar.gz
org.eclipse.app4mc.examples-9620dc232f864876ef3a988a26a0d6f42c2f6aee.tar.xz
org.eclipse.app4mc.examples-9620dc232f864876ef3a988a26a0d6f42c2f6aee.zip
ROVER - Changes to CMake file and added CMake modules
Signed-off-by: Mustafa Ozcelikors <mozcelikors@gmail.com>
-rw-r--r--rover/CMakeLists.txt32
-rw-r--r--rover/ExternalCMakeModules/Findraspicam.cmake34
-rw-r--r--rover/ExternalCMakeModules/raspicamConfig.cmake34
3 files changed, 96 insertions, 4 deletions
diff --git a/rover/CMakeLists.txt b/rover/CMakeLists.txt
index 01f6d58..54d2711 100644
--- a/rover/CMakeLists.txt
+++ b/rover/CMakeLists.txt
@@ -10,8 +10,12 @@
cmake_minimum_required (VERSION 2.8.11)
project (roverapp)
-#For find_package packages, export someextlib_DIR=/path/to/..
+# To find modules from other cmake-built projects that are searched with find_package,
+# external cmake modules need to be provided. Those are typically named as Find<package>.cmake or <package>Config.cmake.
+# Those must be added to the CMAKE_MODULE_PATH set below:
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/ExternalCMakeModules)
+#For find_package packages, export someextlib_DIR=/path/to/..
# Required packages
find_package (OpenCV REQUIRED)
find_package (raspicam REQUIRED)
@@ -35,6 +39,7 @@ include_directories (${CMAKE_SOURCE_DIR}/include/drivers/oled_drivers)
#Include directories for external libraries
include_directories( ${OpenCV_INCLUDE_DIRS} )
+include_directories( ${raspicam_INCLUDE_DIRS} )
#include_directories( ${jsoncpp_INCLUDE_DIRS} )
#include_directories( ${bluetooth_INCLUDE_DIRS} )
@@ -42,8 +47,12 @@ include_directories( ${OpenCV_INCLUDE_DIRS} )
# LIBRARIES
#
-#Add api
-add_library(roverapi SHARED ${CMAKE_SOURCE_DIR}/src/api/basic_psys_rover.c)
+#Add roverapi
+file (GLOB_RECURSE ROVERAPI_FILES
+ ${CMAKE_SOURCE_DIR}/src/roverapi/*.c
+ ${CMAKE_SOURCE_DIR}/src/roverapi/*.cpp
+)
+add_library (roverapi SHARED ${ROVERAPI_FILES})
set(CUSTOM_LIBS_DIR ${CMAKE_SOURCE_DIR}/src/libraries)
@@ -80,12 +89,27 @@ add_library (roverappdrivers SHARED ${ROVERAPP_DRIVER_FILES})
add_executable(roverapp ${CMAKE_SOURCE_DIR}/src/roverapp.cpp)
#
+# LINKING TO ROVER API
+#
+
+target_link_libraries (roverapi wiringPi)
+target_link_libraries (roverapi wiringPiDev)
+
+target_link_libraries(roverapi hono_interaction)
+target_link_libraries(roverapi pthread_distribution)
+target_link_libraries(roverapi status_library)
+target_link_libraries(roverapi pthread_monitoring)
+target_link_libraries(roverapi timing)
+
+target_link_libraries (roverapi roverappdrivers)
+
+#
# LINKING TO ROVER TASKS
#
#Link external libraries
# Search with sudo find / -name *libx*
-# If there is an x.so, you can link x library
+# If there is an x.so in /usr/lib/ or /usr/local/lib/, you can link x library
target_link_libraries (roverapptasks opencv_core)
target_link_libraries (roverapptasks opencv_imgproc)
target_link_libraries (roverapptasks opencv_highgui)
diff --git a/rover/ExternalCMakeModules/Findraspicam.cmake b/rover/ExternalCMakeModules/Findraspicam.cmake
new file mode 100644
index 0000000..5c27b7c
--- /dev/null
+++ b/rover/ExternalCMakeModules/Findraspicam.cmake
@@ -0,0 +1,34 @@
+# ===================================================================================
+# raspicam CMake configuration file
+#
+# ** File generated automatically, do not modify **
+#
+# Usage from an external project:
+# In your CMakeLists.txt, add these lines:
+#
+# FIND_PACKAGE(raspicam REQUIRED )
+# TARGET_LINK_LIBRARIES(MY_TARGET_NAME )
+#
+# This file will define the following variables:
+# - raspicam_LIBS : The list of libraries to links against.
+# - raspicam_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
+# with this path is NOT needed.
+# - raspicam_VERSION : The version of this PROJECT_NAME build. Example: "1.2.0"
+# - raspicam_VERSION_MAJOR : Major version part of VERSION. Example: "1"
+# - raspicam_VERSION_MINOR : Minor version part of VERSION. Example: "2"
+# - raspicam_VERSION_PATCH : Patch version part of VERSION. Example: "0"
+#
+# ===================================================================================
+INCLUDE_DIRECTORIES(;/usr/local/include)
+LINK_DIRECTORIES("/usr/local/lib")
+
+SET(raspicam_LIBS /opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal.so raspicam)
+SET(raspicam_FOUND "YES")
+
+SET(raspicam_CV_FOUND "YES")
+SET(raspicam_CV_LIBS /opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal.so raspicam opencv_calib3d;opencv_core;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_datasets;opencv_dnn;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto raspicam_cv)
+
+SET(raspicam_VERSION 0.1.2)
+SET(raspicam_VERSION_MAJOR 0)
+SET(raspicam_VERSION_MINOR 1)
+SET(raspicam_VERSION_PATCH 2)
diff --git a/rover/ExternalCMakeModules/raspicamConfig.cmake b/rover/ExternalCMakeModules/raspicamConfig.cmake
new file mode 100644
index 0000000..5c27b7c
--- /dev/null
+++ b/rover/ExternalCMakeModules/raspicamConfig.cmake
@@ -0,0 +1,34 @@
+# ===================================================================================
+# raspicam CMake configuration file
+#
+# ** File generated automatically, do not modify **
+#
+# Usage from an external project:
+# In your CMakeLists.txt, add these lines:
+#
+# FIND_PACKAGE(raspicam REQUIRED )
+# TARGET_LINK_LIBRARIES(MY_TARGET_NAME )
+#
+# This file will define the following variables:
+# - raspicam_LIBS : The list of libraries to links against.
+# - raspicam_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
+# with this path is NOT needed.
+# - raspicam_VERSION : The version of this PROJECT_NAME build. Example: "1.2.0"
+# - raspicam_VERSION_MAJOR : Major version part of VERSION. Example: "1"
+# - raspicam_VERSION_MINOR : Minor version part of VERSION. Example: "2"
+# - raspicam_VERSION_PATCH : Patch version part of VERSION. Example: "0"
+#
+# ===================================================================================
+INCLUDE_DIRECTORIES(;/usr/local/include)
+LINK_DIRECTORIES("/usr/local/lib")
+
+SET(raspicam_LIBS /opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal.so raspicam)
+SET(raspicam_FOUND "YES")
+
+SET(raspicam_CV_FOUND "YES")
+SET(raspicam_CV_LIBS /opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal.so raspicam opencv_calib3d;opencv_core;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_datasets;opencv_dnn;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto raspicam_cv)
+
+SET(raspicam_VERSION 0.1.2)
+SET(raspicam_VERSION_MAJOR 0)
+SET(raspicam_VERSION_MINOR 1)
+SET(raspicam_VERSION_PATCH 2)

Back to the top