Skip to content

Commit b4b089c

Browse files
committed
KAZE logo, doxygen and CMakeLists checked in
1 parent dad9ba2 commit b4b089c

File tree

3 files changed

+1907
-0
lines changed

3 files changed

+1907
-0
lines changed

CMakeLists.txt

+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
PROJECT(AKAZE_features)
2+
3+
cmake_minimum_required(VERSION 2.6)
4+
5+
if(COMMAND cmake_policy)
6+
cmake_policy(SET CMP0003 NEW)
7+
endif(COMMAND cmake_policy)
8+
9+
# Find external libraries
10+
find_package(OpenCV REQUIRED)
11+
find_package(OpenMP)
12+
13+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
14+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
15+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
16+
set(CMAKE_BUILD_TYPE Release)
17+
# Detect c++11 support
18+
if(CMAKE_COMPILER_IS_GNUCXX)
19+
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
20+
if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
21+
message(STATUS "C++11 activated.")
22+
add_definitions("-std=gnu++11")
23+
elseif(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
24+
message(WARNING "C++0x activated. If you get any errors update to a compiler which fully supports C++11")
25+
add_definitions("-std=gnu++0x")
26+
else ()
27+
message(FATAL_ERROR "C++11 needed. Therefore a gcc compiler with a version higher than 4.3 is needed.")
28+
endif()
29+
else(CMAKE_COMPILER_IS_GNUCXX)
30+
add_definitions("-std=c++0x")
31+
endif(CMAKE_COMPILER_IS_GNUCXX)
32+
33+
IF(UNIX)
34+
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g -O0 -Wall -Wextra -Wunused-variable -DDEBUG -D_DEBUG")
35+
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0 -g -Wall -Wextra -Wunused-variable -DDEBUG -D_DEBUG")
36+
ENDIF(UNIX)
37+
38+
if(OPENMP_FOUND)
39+
MESSAGE("OpenMP found")
40+
if(UNIX)
41+
SET(CMAKE_C_FLAGS_RELEASE "-O3 -Wall -Wextra -Wunused-variable -g -msse2 -msse3 -msse4 -ffast-math")
42+
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -Wextra -Wunused-variable -g -msse2 -msse3 -msse4 -ffast-math")
43+
endif(UNIX)
44+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
45+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
46+
else(OPENMP_FOUND)
47+
MESSAGE("OpenMP not found")
48+
if(UNIX)
49+
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3 -Wno-unknown-pragmas -Wunused-variable -g -msse2 -msse3 -msse4 -ffast-math")
50+
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3 -Wno-unknown-pragmas -Wunused-variable -g -msse2 -msse3 -msse4 -ffast-math")
51+
endif(UNIX)
52+
endif(OPENMP_FOUND)
53+
54+
INCLUDE_DIRECTORIES("src/lib/")
55+
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE)
56+
57+
SET(SRCS
58+
src/lib/AKAZE.cpp
59+
src/lib/fed.cpp
60+
src/lib/utils.cpp
61+
src/lib/nldiffusion_functions.cpp
62+
)
63+
64+
ADD_LIBRARY(AKAZE SHARED
65+
${SRCS}
66+
)
67+
68+
TARGET_LINK_LIBRARIES(AKAZE
69+
${OpenCV_LIBS}
70+
)
71+
72+
ADD_EXECUTABLE(
73+
akaze_features
74+
src/akaze_features.cpp
75+
)
76+
77+
TARGET_LINK_LIBRARIES(
78+
akaze_features
79+
AKAZE
80+
)
81+
82+
ADD_EXECUTABLE(
83+
akaze_match
84+
src/akaze_match.cpp
85+
)
86+
87+
TARGET_LINK_LIBRARIES(
88+
akaze_match
89+
AKAZE
90+
)
91+
92+
ADD_EXECUTABLE(
93+
akaze_compare
94+
src/akaze_compare.cpp
95+
)
96+
97+
TARGET_LINK_LIBRARIES(
98+
akaze_compare
99+
AKAZE
100+
)
101+
102+
install(TARGETS AKAZE DESTINATION /usr/local/akaze/lib)
103+
install(FILES
104+
src/lib/AKAZE.h
105+
src/lib/fed.h
106+
src/lib/utils.h
107+
src/lib/nldiffusion_functions.h
108+
src/lib/config.h
109+
DESTINATION
110+
/usr/local/akaze/include)
111+
112+
################################
113+
114+
foreach(dir ${DIRS})
115+
FILE(GLOB files ${dir}/*.h*)
116+
LIST(APPEND h_files ${files})
117+
endforeach(dir)
118+
add_custom_target(TAGS etags --members -l c++ ${h_files} ${SRCS})

0 commit comments

Comments
 (0)