diff --git a/CMakeLists.txt b/CMakeLists.txt
index a439775..8da611e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,12 +1,14 @@
-# http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.16)
project(camera_aravis)
+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
+
find_package(catkin REQUIRED COMPONENTS roscpp sensor_msgs image_transport camera_info_manager dynamic_reconfigure driver_base tf dynamic_reconfigure)
find_package(Aravis REQUIRED)
find_package(GLIB2 REQUIRED)
generate_dynamic_reconfigure_options(cfg/CameraAravisConfig.cfg)
+
catkin_package(
DEPENDS Aravis GLIB2
CATKIN_DEPENDS roscpp sensor_msgs image_transport camera_info_manager dynamic_reconfigure driver_base tf
@@ -14,11 +16,9 @@ catkin_package(
LIBRARIES
)
-include_directories(cfg/cpp ${catkin_INCLUDE_DIRS} ${ARAVIS_INCLUDE_PATH} ${GLIB2_INCLUDE_DIRS})
-
-message(${ARAVIS_LIBRARY})
+include_directories(cfg/cpp ${catkin_INCLUDE_DIRS} ${Aravis_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS})
add_executable(camnode src/camnode.cpp)
-target_link_libraries(camnode ${catkin_LIBRARIES} ${ARAVIS_LIBRARY} glib-2.0 gmodule-2.0 gobject-2.0)
+target_link_libraries(camnode ${catkin_LIBRARIES} ${Aravis_LIBRARY} glib-2.0 gmodule-2.0 gobject-2.0)
add_dependencies(camnode ${PROJECT_NAME}_gencfg)
diff --git a/CMakeModules/FindAravis.cmake b/CMakeModules/FindAravis.cmake
index 7b17873..d360fc6 100644
--- a/CMakeModules/FindAravis.cmake
+++ b/CMakeModules/FindAravis.cmake
@@ -1,16 +1,18 @@
INCLUDE(FindPackageHandleStandardArgs)
-FIND_PATH(ARAVIS_INCLUDE_PATH arv.h
- "$ENV{ARAVIS_INCLUDE_PATH}"
+FIND_PATH(Aravis_INCLUDE_DIRS arv.h
+ "$ENV{ARAVIS_INCLUDE_DIRS}"
+ /usr/include/aravis-0.6
/usr/local/include/aravis-0.6
)
-FIND_LIBRARY(ARAVIS_LIBRARY aravis-0.6
+FIND_LIBRARY(Aravis_LIBRARY aravis-0.6
"$ENV{ARAVIS_LIBRARY}"
+ /usr/lib
/usr/local/lib
)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ARAVIS DEFAULT_MSG
- ARAVIS_INCLUDE_PATH
- ARAVIS_LIBRARY)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Aravis DEFAULT_MSG
+ Aravis_INCLUDE_DIRS
+ Aravis_LIBRARY)
diff --git a/cfg/CameraAravisConfig.cfg b/cfg/CameraAravisConfig.cfg
index ee91162..d74621d 100755
--- a/cfg/CameraAravisConfig.cfg
+++ b/cfg/CameraAravisConfig.cfg
@@ -1,7 +1,6 @@
#!/usr/bin/env python
-PACKAGE='camera_aravis'
-import roslib; roslib.load_manifest(PACKAGE)
+PACKAGE = 'camera_aravis'
from dynamic_reconfigure.parameter_generator import *
from driver_base.msg import SensorLevels
diff --git a/package.xml b/package.xml
index b10de17..0639c22 100644
--- a/package.xml
+++ b/package.xml
@@ -17,20 +17,22 @@
catkin
- roscpp
- sensor_msgs
- image_transport
camera_info_manager
- dynamic_reconfigure
driver_base
+ dynamic_reconfigure
+ image_transport
+ libaravis-dev
+ roscpp
+ sensor_msgs
tf
- roscpp
- sensor_msgs
- image_transport
camera_info_manager
- dynamic_reconfigure
driver_base
+ dynamic_reconfigure
+ image_transport
+ libaravis
+ roscpp
+ sensor_msgs
tf