Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/3rdparty/carotene/CMakeLists.txt
16337 views
1
cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR)
2
3
project(Carotene)
4
5
set(CAROTENE_NS "carotene" CACHE STRING "Namespace for Carotene definitions")
6
7
set(CAROTENE_INCLUDE_DIR include)
8
set(CAROTENE_SOURCE_DIR src)
9
10
file(GLOB_RECURSE carotene_headers RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "${CAROTENE_INCLUDE_DIR}/*.hpp")
11
file(GLOB_RECURSE carotene_sources RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "${CAROTENE_SOURCE_DIR}/*.cpp"
12
"${CAROTENE_SOURCE_DIR}/*.hpp")
13
14
include_directories(${CAROTENE_INCLUDE_DIR})
15
16
if(CMAKE_COMPILER_IS_GNUCC)
17
set(CMAKE_CXX_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}")
18
19
# allow more inlines - these parameters improve performance for:
20
# - matchTemplate about 5-10%
21
# - goodFeaturesToTrack 10-20%
22
# - cornerHarris 30% for some cases
23
24
set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
25
endif()
26
27
add_library(carotene_objs OBJECT
28
${carotene_headers}
29
${carotene_sources}
30
)
31
32
if(NOT CAROTENE_NS STREQUAL "carotene")
33
target_compile_definitions(carotene_objs PUBLIC "-DCAROTENE_NS=${CAROTENE_NS}")
34
endif()
35
36
if(WITH_NEON)
37
target_compile_definitions(carotene_objs PRIVATE "-DWITH_NEON")
38
endif()
39
40
add_library(carotene STATIC EXCLUDE_FROM_ALL "$<TARGET_OBJECTS:carotene_objs>")
41
42