]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/vlfeat/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / vlfeat / CMakeLists.txt
CommitLineData
1e59de90
TL
1cmake_minimum_required (VERSION 3.10)
2project (vlfeat)
3
4set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
5set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
6set(INSTALL_INCLUDE_DIR "include/vlfeat" CACHE PATH "Path where headers will be installed")
7set(INSTALL_CMAKE_DIR "share/vlfeat" CACHE PATH "Path where cmake configs will be installed")
8
9# Make relative paths absolute (needed later on)
10set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
11foreach(p LIB BIN INCLUDE CMAKE)
12 set(var INSTALL_${p}_DIR)
13 if(NOT IS_ABSOLUTE "${${var}}")
14 set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
15 endif()
16endforeach()
17
18# make sure that the default is a RELEASE
19set(default_build_type "Release")
20if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
21 message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
22 set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
23 STRING "Choose the type of build." FORCE)
24 set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
25 "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
26endif()
27
28if(ENABLE_OPENMP)
29 find_package(OpenMP REQUIRED)
30 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
31endif()
32
33if(MSVC)
34 add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
35 add_definitions(-D__LITTLE_ENDIAN__)
36 add_definitions(/Zp8)
37 add_definitions(/wd4146)
38 if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
39 string(REGEX REPLACE "/W[0-4]" "/W1" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
40 endif()
41endif()
42
43if(CMAKE_COMPILER_IS_GNUCC)
44 add_definitions(-std=c99)
45 add_definitions(-Wno-unused-function)
46 add_definitions(-Wno-long-long)
47 add_definitions(-Wno-variadic-macros)
48endif()
49
50if(USE_SSE)
51 add_definitions(-D__SSE2__)
52 set(SSE2_VL_C_FILES "vl/mathop_sse2.c" "vl/imopv_sse2.c")
53 set(SSE2_VL_H_FILES "vl/mathop_sse2.h" "vl/imopv_sse2.h")
54else()
55 add_definitions(-DVL_DISABLE_SSE2)
56endif()
57
58if(USE_AVX)
59 set(AVX_VL_C_FILES "vl/mathop_avx.c")
60 set(AVX_VL_H_FILES "vl/mathop_avx.h")
61else()
62 add_definitions(-DVL_DISABLE_AVX)
63endif()
64
65
66set (C_SOURCES
67 vl/aib.c
68 vl/array.c
69 vl/covdet.c
70 vl/dsift.c
71 vl/fisher.c
72 vl/generic.c
73 vl/getopt_long.c
74 vl/gmm.c
75 vl/hikmeans.c
76 vl/hog.c
77 vl/homkermap.c
78 vl/host.c
79 vl/ikmeans.c
80 vl/imopv.c
81 vl/kdtree.c
82 vl/kmeans.c
83 vl/lbp.c
84 vl/liop.c
85 vl/mathop.c
86 ${AVX_VL_C_FILES}
87 ${SSE2_VL_C_FILES}
88 vl/mser.c
89 vl/pgm.c
90 vl/quickshift.c
91 vl/random.c
92 vl/rodrigues.c
93 vl/scalespace.c
94 vl/sift.c
95 vl/slic.c
96 vl/stringop.c
97 vl/svm.c
98 vl/svmdataset.c
99 vl/vlad.c
100)
101
102set (H_SOURCES
103 vl/aib.h
104 vl/array.h
105 vl/covdet.h
106 vl/dsift.h
107 vl/fisher.h
108 vl/generic.h
109 vl/getopt_long.h
110 vl/gmm.h
111 vl/heap-def.h
112 vl/hikmeans.h
113 vl/hog.h
114 vl/homkermap.h
115 vl/host.h
116 vl/ikmeans.h
117 vl/imopv.h
118 vl/kdtree.h
119 vl/kmeans.h
120 vl/lbp.h
121 vl/liop.h
122 vl/mathop.h
123 ${AVX_VL_H_FILES}
124 ${SSE2_VL_H_FILES}
125 vl/mser.h
126 vl/pgm.h
127 vl/qsort-def.h
128 vl/quickshift.h
129 vl/random.h
130 vl/rodrigues.h
131 vl/scalespace.h
132 vl/shuffle-def.h
133 vl/sift.h
134 vl/slic.h
135 vl/stringop.h
136 vl/svm.h
137 vl/svmdataset.h
138 vl/vlad.h
139)
140
141add_library(vl ${C_SOURCES} ${H_SOURCES})
142set_property(TARGET vl PROPERTY POSITION_INDEPENDENT_CODE ON)
143target_compile_definitions(vl PRIVATE -DVL_BUILD_DLL)
144target_include_directories(vl PUBLIC $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vl>)
145set_target_properties(vl PROPERTIES PUBLIC_HEADER "${H_SOURCES}")
146
147install(TARGETS vl EXPORT vlfeatTargets
148 RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
149 LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
150 ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
151 PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
152 COMPONENT dev
153)
154
155install(EXPORT vlfeatTargets
156 FILE vlfeatConfig.cmake
157 NAMESPACE unofficial::vlfeat::
158 DESTINATION "${INSTALL_CMAKE_DIR}"
159)