-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
47 lines (36 loc) · 1.58 KB
/
CMakeLists.txt
File metadata and controls
47 lines (36 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
project(adaboost)
cmake_minimum_required(VERSION 2.6)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(OpenMP REQUIRED)
find_package(OpenCV REQUIRED)
set(CMAKE_CXX_COMPILER "/usr/bin/g++")
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost REQUIRED program_options filesystem system serialization timer iostreams)
## Compiler flags
if(DEBUG)
set(CMAKE_CXX_FLAGS "-g -fpermissive -std=gnu++11 -march=native -Wall -Wpedantic")
else()
set(CMAKE_CXX_FLAGS "-O3 -ffast-math -fpermissive -std=gnu++11 -march=native -Wall -fopenmp -Wpedantic")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS} ${OpenCV_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} ${OpenCV_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
IF (${EIGEN3_INCLUDE_DIR} MATCHES "OFF")
SET(EIGEN3_INCLUDE_DIR "/usr/include/eigen3")
ENDIF(${EIGEN3_INCLUDE_DIR} MATCHES "OFF")
get_filename_component(mydir "." ABSOLUTE)
include_directories(${mydir} ${EIGEN3_INCLUDE_DIR})
file(GLOB boost_src "src/*.cpp")
list(REMOVE_ITEM boost_src "src/main.cpp")
add_library(adaboost SHARED ${boost_src})
target_link_libraries(adaboost ${Boost_LIBRARIES} ${OpenCV_LIBRARIES})
add_executable(rf src/main.cpp)
target_link_libraries(rf ${Boost_LIBRARIES} ${OpenCV_LIBRARIES} adaboost)
option(WITH_TESTS "build tests" ON)
option(DEBUG "debugging mode" OFF)
option(EIGEN3_INCLUDE_DIR "Eigen3 Include Directory" "/usr/include/eigen3")
if (WITH_TESTS)
add_subdirectory(tests)
endif()