Skip to content

Commit 4977ee8

Browse files
author
Vikrant Shah
authored
Merge pull request #114 from neufieldrobotics/hotfix/spinnaker_cmake
added cmake file to detect and find spinnaker library
2 parents 2f9f14d + 3aec36d commit 4977ee8

File tree

2 files changed

+52
-8
lines changed

2 files changed

+52
-8
lines changed

CMakeLists.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
1010
###
1111
#SET("OpenCV_DIR" "~/apps/opencv-2.4.13/")
1212
set(PROJECT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include" CACHE PATH "Project Include Directory")
13-
set(SPINNAKER_INCLUDE_DIR "/usr/include/spinnaker" CACHE PATH "Spinnaker Include Directory")
14-
set(SPINNAKER_LIB_DIR "/usr/lib" CACHE PATH "Spinnaker Libs Directory")
13+
#set(SPINNAKER_INCLUDE_DIR "/usr/include/spinnaker" CACHE PATH "Spinnaker Include Directory")
14+
#set(SPINNAKER_LIB_DIR "/usr/lib" CACHE PATH "Spinnaker Libs Directory")
1515
# set(yaml-cpp_DIR "~/apps/yaml-cpp" CACHE PATH "yaml-cpp Directory")
1616
set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
1717

@@ -32,6 +32,8 @@ find_package(catkin REQUIRED COMPONENTS
3232
# Acquisition specific
3333
###
3434
# Find Packages
35+
find_package(Spinnaker REQUIRED)
36+
message("spinnaker lib : " ${Spinnaker_LIBRARIES})
3537
find_package(OpenCV REQUIRED)
3638
# use LibUnwind only for x86_64 or x86_32 architecture
3739
# do not use LibUnwind for arm architecture
@@ -76,15 +78,15 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64 OR x86_32)
7678
include_directories(
7779
${PROJECT_INCLUDE_DIR}
7880
${catkin_INCLUDE_DIRS}
79-
SYSTEM ${SPINNAKER_INCLUDE_DIR}
81+
SYSTEM ${Spinnaker_INCLUDE_DIRS}
8082
SYSTEM ${OpenCV_INCLUDE_DIRS}
8183
SYSTEM ${Boost_INCLUDE_DIR}
8284
${LibUnwind_INCLUDE_DIRS}
8385
)
8486

85-
link_directories( ${SPINNAKER_LIB_DIR} )
87+
link_directories( ${Spinnaker_LIBRARIES} )
8688

87-
set (LIBS ${LibUnwind_LIBRARIES} Spinnaker ${OpenCV_LIBS} ${Boost_GENERAL})
89+
set (LIBS ${LibUnwind_LIBRARIES} ${Spinnaker_LIBRARIES} ${OpenCV_LIBS} ${Boost_GENERAL})
8890

8991
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64 OR x86_32)
9092
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES aarch64 OR arm)
@@ -97,14 +99,14 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES aarch64 OR arm)
9799
include_directories(
98100
${PROJECT_INCLUDE_DIR}
99101
${catkin_INCLUDE_DIRS}
100-
SYSTEM ${SPINNAKER_INCLUDE_DIR}
102+
SYSTEM ${Spinnaker_INCLUDE_DIRS}
101103
SYSTEM ${OpenCV_INCLUDE_DIRS}
102104
SYSTEM ${Boost_INCLUDE_DIR}
103105
)
104106

105-
link_directories( ${SPINNAKER_LIB_DIR} )
107+
link_directories( ${Spinnaker_LIBRARIES} )
106108

107-
set (LIBS Spinnaker ${OpenCV_LIBS} ${Boost_GENERAL})
109+
set (LIBS ${Spinnaker_LIBRARIES} ${OpenCV_LIBS} ${Boost_GENERAL})
108110

109111
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES aarch64 OR arm)
110112

cmake/FindSpinnaker.cmake

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Find the Spinnaker library
2+
#
3+
# Spinnaker_FOUND - True if Spinnaker was found.
4+
# Spinnaker_LIBRARIES - The libraries needed to use Spinnaker
5+
# Spinnaker_INCLUDE_DIRS - Location of Spinnaker.h
6+
7+
unset(Spinnaker_FOUND)
8+
unset(Spinnaker_INCLUDE_DIRS)
9+
unset(Spinnaker_LIBRARIES)
10+
11+
find_path(Spinnaker_INCLUDE_DIRS NAMES
12+
Spinnaker.h
13+
PATHS
14+
/opt/spinnaker/include
15+
)
16+
find_library(Spinnaker_LIBRARIES NAMES Spinnaker
17+
PATHS
18+
/opt/spinnaker/lib
19+
)
20+
21+
if(NOT Spinnaker_INCLUDE_DIRS OR NOT Spinnaker_LIBRARIES)
22+
message(STATUS "Couldnt find Spinnaker 2.2.x. Checking lower versions")
23+
find_path(Spinnaker_INCLUDE_DIRS NAMES
24+
Spinnaker.h
25+
PATHS
26+
/usr/include/spinnaker/
27+
/usr/local/include/spinnaker/
28+
)
29+
find_library(Spinnaker_LIBRARIES NAMES Spinnaker
30+
PATHS
31+
/usr/lib
32+
/usr/local/lib
33+
)
34+
if(NOT Spinnaker_INCLUDE_DIRS OR NOT Spinnaker_LIBRARIES)
35+
message(STATUS "Couldnt find Spinnaker.")
36+
endif()
37+
endif()
38+
39+
if (Spinnaker_INCLUDE_DIRS AND Spinnaker_LIBRARIES)
40+
message(STATUS "Spinnaker found in the system")
41+
set(Spinnaker_FOUND 1)
42+
endif (Spinnaker_INCLUDE_DIRS AND Spinnaker_LIBRARIES)

0 commit comments

Comments
 (0)