blob: 29aec265a42143c39d51cbe674f8e2c0e7e8ed22 [file] [log] [blame]
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -07001CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
Marat Dukhan3645b922017-10-13 17:03:35 -04002
3INCLUDE(GNUInstallDirs)
4
5# ---[ Project and semantic versioning.
Marat Dukhan63d41a52017-10-26 00:37:12 +00006PROJECT(cpuinfo C CXX)
Marat Dukhan3645b922017-10-13 17:03:35 -04007
8# ---[ Options.
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -07009OPTION(CPUINFO_BUILD_TOOLS "Build command-line tools" ON)
Marat Dukhancc44bf32017-12-18 17:45:48 -080010OPTION(CPUINFO_BUILD_UNIT_TESTS "Build cpuinfo unit tests" ON)
11OPTION(CPUINFO_BUILD_MOCK_TESTS "Build cpuinfo mock tests" ON)
12OPTION(CPUINFO_BUILD_BENCHMARKS "Build cpuinfo micro-benchmarks" ON)
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -070013
14# ---[ CMake options
15IF(CPUINFO_BUILD_UNIT_TESTS OR CPUINFO_BUILD_MOCK_TESTS)
16 ENABLE_TESTING()
17ENDIF()
Marat Dukhan3645b922017-10-13 17:03:35 -040018
19# ---[ Build flags
Marat Dukhan3645b922017-10-13 17:03:35 -040020IF(NOT MSVC)
Marat Dukhan7b738882017-10-18 16:59:28 -070021 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
22 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
Marat Dukhan3645b922017-10-13 17:03:35 -040023ENDIF()
24
25IF(NOT CMAKE_SYSTEM_PROCESSOR)
26 MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_PROCESSOR not defined")
Marat Dukhan7b738882017-10-18 16:59:28 -070027ELSEIF(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64|armv5te|armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|arm64|aarch64)$")
Marat Dukhan3645b922017-10-13 17:03:35 -040028 MESSAGE(FATAL_ERROR "Unrecognized CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}")
29ENDIF()
30
31IF(NOT CMAKE_SYSTEM_NAME)
32 MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_NAME not defined")
33ELSEIF(NOT CMAKE_SYSTEM_NAME MATCHES "^(Darwin|Linux|Android)$")
34 MESSAGE(FATAL_ERROR "Unrecognized CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
35ENDIF()
36
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -070037# ---[ Download deps
38SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
39 CACHE PATH "Confu-style dependencies source directory")
40SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
41 CACHE PATH "Confu-style dependencies binary directory")
42
43IF(NOT TARGET gtest)
44 CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
45 EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
46 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
47 EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
48 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
49ENDIF()
Marat Dukhan3645b922017-10-13 17:03:35 -040050
Marat Dukhancc44bf32017-12-18 17:45:48 -080051IF(NOT TARGET benchmark)
52 CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt")
53 EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
54 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googlebenchmark-download")
55 EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
56 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googlebenchmark-download")
57ENDIF()
58
Marat Dukhan3645b922017-10-13 17:03:35 -040059# ---[ cpuinfo library
60SET(CPUINFO_SRCS
61 src/init.c
62 src/api.c
63 src/log.c)
64
65IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64)$")
66 LIST(APPEND CPUINFO_SRCS
67 src/x86/init.c
68 src/x86/info.c
69 src/x86/vendor.c
70 src/x86/uarch.c
71 src/x86/name.c
72 src/x86/topology.c
73 src/x86/isa.c
74 src/x86/cache/init.c
75 src/x86/cache/descriptor.c
76 src/x86/cache/deterministic.c)
77 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
78 LIST(APPEND CPUINFO_SRCS
79 src/x86/linux/init.c
80 src/x86/linux/cpuinfo.c)
81 ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
82 LIST(APPEND CPUINFO_SRCS src/x86/mach/init.c)
83 ENDIF()
Marat Dukhan7b738882017-10-18 16:59:28 -070084ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|arm64|aarch64)$")
Marat Dukhan3645b922017-10-13 17:03:35 -040085 LIST(APPEND CPUINFO_SRCS
86 src/arm/uarch.c
87 src/arm/cache.c)
88 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
89 LIST(APPEND CPUINFO_SRCS
90 src/arm/linux/init.c
91 src/arm/linux/cpuinfo.c
92 src/arm/linux/clusters.c
Marat Dukhaned272132017-10-15 21:55:45 +000093 src/arm/linux/chipset.c
Marat Dukhan63a7a6b2017-11-29 15:11:56 -080094 src/arm/linux/midr.c
95 src/arm/linux/hwcap.c)
Marat Dukhan3985cf82017-12-18 18:58:26 -080096 IF(CMAKE_SYSTEM_NAME STREQUAL "Android")
97 LIST(APPEND CPUINFO_SRCS src/arm/android/gpu.c)
98 ENDIF()
Marat Dukhan7b738882017-10-18 16:59:28 -070099 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7l|armv7-a)$")
Marat Dukhandeaa8982017-11-28 11:07:11 -0800100 LIST(APPEND CPUINFO_SRCS src/arm/linux/aarch32-isa.c)
Marat Dukhan7b738882017-10-18 16:59:28 -0700101 IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND ANDROID_ABI STREQUAL "armeabi")
Marat Dukhandeaa8982017-11-28 11:07:11 -0800102 SET_SOURCE_FILES_PROPERTIES(src/arm/linux/aarch32-isa.c PROPERTIES COMPILE_FLAGS -marm)
Marat Dukhan7b738882017-10-18 16:59:28 -0700103 ENDIF()
104 ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
Marat Dukhandeaa8982017-11-28 11:07:11 -0800105 LIST(APPEND CPUINFO_SRCS src/arm/linux/aarch64-isa.c)
Marat Dukhan7b738882017-10-18 16:59:28 -0700106 ENDIF()
107 ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
Marat Dukhanad1ac952017-10-23 15:32:25 -0700108 LIST(APPEND CPUINFO_SRCS
109 src/arm/mach/init.c
110 src/gpu/gles-ios.m)
Marat Dukhan02527012017-10-23 16:03:05 -0700111 SET_SOURCE_FILES_PROPERTIES(src/gpu/gles-ios.m PROPERTIES COMPILE_FLAGS -fobjc-arc)
Marat Dukhan3645b922017-10-13 17:03:35 -0400112 ENDIF()
113 IF(CMAKE_SYSTEM_NAME STREQUAL "Android")
114 LIST(APPEND CPUINFO_SRCS
Marat Dukhan3645b922017-10-13 17:03:35 -0400115 src/arm/Android/properties.c)
116 ENDIF()
Marat Dukhan3645b922017-10-13 17:03:35 -0400117ENDIF()
118
119IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
120 LIST(APPEND CPUINFO_SRCS
121 src/linux/smallfile.c
122 src/linux/multiline.c
123 src/linux/current.c
124 src/linux/cpulist.c
125 src/linux/processors.c)
126 IF(CMAKE_SYSTEM_NAME STREQUAL "Android")
Marat Dukhanfd0f3ef2017-12-18 17:45:18 -0800127 LIST(APPEND CPUINFO_SRCS
128 src/gpu/gles2.c
129 src/linux/gpu.c)
Marat Dukhan3645b922017-10-13 17:03:35 -0400130 ENDIF()
131ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
132 LIST(APPEND CPUINFO_SRCS src/mach/topology.c)
133ENDIF()
134
Marat Dukhanbfff3482017-10-15 22:24:32 +0000135IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
136 SET(CMAKE_THREAD_PREFER_PTHREAD TRUE)
137 SET(THREADS_PREFER_PTHREAD_FLAG TRUE)
138 FIND_PACKAGE(Threads REQUIRED)
139ENDIF()
140
Marat Dukhan3645b922017-10-13 17:03:35 -0400141ADD_LIBRARY(cpuinfo ${CPUINFO_SRCS})
Marat Dukhan3645b922017-10-13 17:03:35 -0400142SET_TARGET_PROPERTIES(cpuinfo PROPERTIES PUBLIC_HEADER include/cpuinfo.h)
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700143TARGET_INCLUDE_DIRECTORIES(cpuinfo PUBLIC include)
Marat Dukhan3645b922017-10-13 17:03:35 -0400144TARGET_INCLUDE_DIRECTORIES(cpuinfo PRIVATE src)
Marat Dukhanbfff3482017-10-15 22:24:32 +0000145IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
146 TARGET_LINK_LIBRARIES(cpuinfo PUBLIC ${CMAKE_THREAD_LIBS_INIT})
147ENDIF()
Marat Dukhane029fd42017-10-26 00:35:46 +0000148IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
149 TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE -D_GNU_SOURCE)
150ENDIF()
Marat Dukhanad1ac952017-10-23 15:32:25 -0700151IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|arm64)$")
152 TARGET_LINK_LIBRARIES(cpuinfo INTERFACE "-framework OpenGLES")
153 TARGET_LINK_LIBRARIES(cpuinfo INTERFACE "-framework Foundation")
154ENDIF()
Marat Dukhan3645b922017-10-13 17:03:35 -0400155
156INSTALL(TARGETS cpuinfo
157 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
158 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
159 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
160
Marat Dukhancc44bf32017-12-18 17:45:48 -0800161# ---[ cpuinfo micro-benchmarks
162IF(CPUINFO_BUILD_BENCHMARKS)
163 # ---[ Build google benchmark
164 IF(NOT TARGET benchmark)
165 SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "")
166 ADD_SUBDIRECTORY(
167 "${CONFU_DEPENDENCIES_SOURCE_DIR}/googlebenchmark"
168 "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark")
169 ENDIF()
170
171 IF(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Android)$")
172 ADD_EXECUTABLE(get-current-bench bench/get-current.cc)
173 TARGET_LINK_LIBRARIES(get-current-bench cpuinfo benchmark)
174 ENDIF()
175
176 ADD_EXECUTABLE(init-bench bench/init.cc)
177 TARGET_LINK_LIBRARIES(init-bench cpuinfo benchmark)
178ENDIF()
179
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700180IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS)
181 # ---[ Build google test
182 IF(NOT TARGET gtest)
183 SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
184 ADD_SUBDIRECTORY(
185 "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest"
186 "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest")
187 ENDIF()
188ENDIF()
189
190# ---[ cpuinfo mock library and mock tests
191IF(CPUINFO_BUILD_MOCK_TESTS)
Marat Dukhanb8a83372017-10-13 21:07:44 -0400192 SET(CPUINFO_MOCK_SRCS "${CPUINFO_SRCS}")
Marat Dukhanfd0f3ef2017-12-18 17:45:18 -0800193 IF(CMAKE_SYSTEM_NAME STREQUAL "Android")
194 LIST(REMOVE_ITEM CPUINFO_MOCK_SRCS src/gpu/gles2.c)
195 LIST(APPEND CPUINFO_MOCK_SRCS src/gpu/gles2-mock.c)
196 ENDIF()
Marat Dukhan1b474622017-12-18 17:52:40 -0800197 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64)$")
198 LIST(APPEND CPUINFO_MOCK_SRCS src/x86/mockcpuid.c)
199 ENDIF()
Marat Dukhanb8a83372017-10-13 21:07:44 -0400200 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
201 LIST(APPEND CPUINFO_MOCK_SRCS src/linux/mockfile.c)
202 ENDIF()
203
204 ADD_LIBRARY(cpuinfo_mock ${CPUINFO_MOCK_SRCS})
Marat Dukhanb8a83372017-10-13 21:07:44 -0400205 SET_TARGET_PROPERTIES(cpuinfo_mock PROPERTIES PUBLIC_HEADER include/cpuinfo.h)
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700206 TARGET_INCLUDE_DIRECTORIES(cpuinfo_mock PUBLIC include)
Marat Dukhanb8a83372017-10-13 21:07:44 -0400207 TARGET_INCLUDE_DIRECTORIES(cpuinfo_mock PRIVATE src)
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700208 TARGET_COMPILE_DEFINITIONS(cpuinfo_mock PUBLIC "-DCPUINFO_MOCK=1")
Marat Dukhanbfff3482017-10-15 22:24:32 +0000209 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
210 TARGET_LINK_LIBRARIES(cpuinfo_mock PUBLIC ${CMAKE_THREAD_LIBS_INIT})
211 ENDIF()
Marat Dukhane029fd42017-10-26 00:35:46 +0000212 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
213 TARGET_COMPILE_DEFINITIONS(cpuinfo_mock PRIVATE -D_GNU_SOURCE)
214 ENDIF()
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700215
216 IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a)$")
Marat Dukhanf18db832017-11-28 11:10:10 -0800217 ADD_EXECUTABLE(atm7029b-tablet-test test/mock/atm7029b-tablet.cc)
218 TARGET_INCLUDE_DIRECTORIES(atm7029b-tablet-test PRIVATE test/mock)
219 TARGET_LINK_LIBRARIES(atm7029b-tablet-test PRIVATE cpuinfo_mock gtest)
220 ADD_TEST(atm7029b-tablet-test atm7029b-tablet-test)
221
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700222 ADD_EXECUTABLE(blu-r1-hd-test test/mock/blu-r1-hd.cc)
223 TARGET_INCLUDE_DIRECTORIES(blu-r1-hd-test PRIVATE test/mock)
224 TARGET_LINK_LIBRARIES(blu-r1-hd-test PRIVATE cpuinfo_mock gtest)
225 ADD_TEST(blu-r1-hd-test blu-r1-hd-test)
226
Marat Dukhan94f763a2017-12-04 16:44:33 -0800227 ADD_EXECUTABLE(galaxy-a3-2016-eu-test test/mock/galaxy-a3-2016-eu.cc)
228 TARGET_INCLUDE_DIRECTORIES(galaxy-a3-2016-eu-test PRIVATE test/mock)
229 TARGET_LINK_LIBRARIES(galaxy-a3-2016-eu-test PRIVATE cpuinfo_mock gtest)
230 ADD_TEST(galaxy-a3-2016-eu-test galaxy-a3-2016-eu-test)
231
Marat Dukhanf9ccfa32017-11-27 15:50:06 -0800232 ADD_EXECUTABLE(galaxy-a8-2016-duos-test test/mock/galaxy-a8-2016-duos.cc)
233 TARGET_INCLUDE_DIRECTORIES(galaxy-a8-2016-duos-test PRIVATE test/mock)
234 TARGET_LINK_LIBRARIES(galaxy-a8-2016-duos-test PRIVATE cpuinfo_mock gtest)
235 ADD_TEST(galaxy-a8-2016-duos-test galaxy-a8-2016-duos-test)
236
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700237 ADD_EXECUTABLE(galaxy-grand-prime-value-edition-test test/mock/galaxy-grand-prime-value-edition.cc)
238 TARGET_INCLUDE_DIRECTORIES(galaxy-grand-prime-value-edition-test PRIVATE test/mock)
239 TARGET_LINK_LIBRARIES(galaxy-grand-prime-value-edition-test PRIVATE cpuinfo_mock gtest)
240 ADD_TEST(galaxy-grand-prime-value-edition-test galaxy-grand-prime-value-edition-test)
241
Marat Dukhan126c46d2017-12-04 16:24:48 -0800242 ADD_EXECUTABLE(galaxy-j5-test test/mock/galaxy-j5.cc)
243 TARGET_INCLUDE_DIRECTORIES(galaxy-j5-test PRIVATE test/mock)
244 TARGET_LINK_LIBRARIES(galaxy-j5-test PRIVATE cpuinfo_mock gtest)
245 ADD_TEST(galaxy-j5-test galaxy-j5-test)
246
Marat Dukhan84435902017-11-29 15:53:58 -0800247 ADD_EXECUTABLE(galaxy-j7-prime-test test/mock/galaxy-j7-prime.cc)
248 TARGET_INCLUDE_DIRECTORIES(galaxy-j7-prime-test PRIVATE test/mock)
249 TARGET_LINK_LIBRARIES(galaxy-j7-prime-test PRIVATE cpuinfo_mock gtest)
250 ADD_TEST(galaxy-j7-prime-test galaxy-j7-prime-test)
251
Marat Dukhan0d2aaa72017-11-29 15:48:46 -0800252 ADD_EXECUTABLE(galaxy-j7-tmobile-test test/mock/galaxy-j7-tmobile.cc)
253 TARGET_INCLUDE_DIRECTORIES(galaxy-j7-tmobile-test PRIVATE test/mock)
254 TARGET_LINK_LIBRARIES(galaxy-j7-tmobile-test PRIVATE cpuinfo_mock gtest)
255 ADD_TEST(galaxy-j7-tmobile-test galaxy-j7-tmobile-test)
256
257 ADD_EXECUTABLE(galaxy-j7-uae-test test/mock/galaxy-j7-uae.cc)
258 TARGET_INCLUDE_DIRECTORIES(galaxy-j7-uae-test PRIVATE test/mock)
259 TARGET_LINK_LIBRARIES(galaxy-j7-uae-test PRIVATE cpuinfo_mock gtest)
260 ADD_TEST(galaxy-j7-uae-test galaxy-j7-uae-test)
261
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700262 ADD_EXECUTABLE(galaxy-s3-us-test test/mock/galaxy-s3-us.cc)
263 TARGET_INCLUDE_DIRECTORIES(galaxy-s3-us-test PRIVATE test/mock)
264 TARGET_LINK_LIBRARIES(galaxy-s3-us-test PRIVATE cpuinfo_mock gtest)
265 ADD_TEST(galaxy-s3-us-test galaxy-s3-us-test)
266
267 ADD_EXECUTABLE(galaxy-s4-us-test test/mock/galaxy-s4-us.cc)
268 TARGET_INCLUDE_DIRECTORIES(galaxy-s4-us-test PRIVATE test/mock)
269 TARGET_LINK_LIBRARIES(galaxy-s4-us-test PRIVATE cpuinfo_mock gtest)
270 ADD_TEST(galaxy-s4-us-test galaxy-s4-us-test)
271
272 ADD_EXECUTABLE(galaxy-s5-global-test test/mock/galaxy-s5-global.cc)
273 TARGET_INCLUDE_DIRECTORIES(galaxy-s5-global-test PRIVATE test/mock)
274 TARGET_LINK_LIBRARIES(galaxy-s5-global-test PRIVATE cpuinfo_mock gtest)
275 ADD_TEST(galaxy-s5-global-test galaxy-s5-global-test)
276
277 ADD_EXECUTABLE(galaxy-s5-us-test test/mock/galaxy-s5-us.cc)
278 TARGET_INCLUDE_DIRECTORIES(galaxy-s5-us-test PRIVATE test/mock)
279 TARGET_LINK_LIBRARIES(galaxy-s5-us-test PRIVATE cpuinfo_mock gtest)
280 ADD_TEST(galaxy-s5-us-test galaxy-s5-us-test)
281
282 ADD_EXECUTABLE(galaxy-tab-3-7.0-test test/mock/galaxy-tab-3-7.0.cc)
283 TARGET_INCLUDE_DIRECTORIES(galaxy-tab-3-7.0-test PRIVATE test/mock)
284 TARGET_LINK_LIBRARIES(galaxy-tab-3-7.0-test PRIVATE cpuinfo_mock gtest)
285 ADD_TEST(galaxy-tab-3-7.0-test galaxy-tab-3-7.0-test)
286
287 ADD_EXECUTABLE(galaxy-tab-3-lite-test test/mock/galaxy-tab-3-lite.cc)
288 TARGET_INCLUDE_DIRECTORIES(galaxy-tab-3-lite-test PRIVATE test/mock)
289 TARGET_LINK_LIBRARIES(galaxy-tab-3-lite-test PRIVATE cpuinfo_mock gtest)
290 ADD_TEST(galaxy-tab-3-lite-test galaxy-tab-3-lite-test)
291
292 ADD_EXECUTABLE(galaxy-win-duos-test test/mock/galaxy-win-duos.cc)
293 TARGET_INCLUDE_DIRECTORIES(galaxy-win-duos-test PRIVATE test/mock)
294 TARGET_LINK_LIBRARIES(galaxy-win-duos-test PRIVATE cpuinfo_mock gtest)
295 ADD_TEST(galaxy-win-duos-test galaxy-win-duos-test)
296
297 ADD_EXECUTABLE(huawei-ascend-p7-test test/mock/huawei-ascend-p7.cc)
298 TARGET_INCLUDE_DIRECTORIES(huawei-ascend-p7-test PRIVATE test/mock)
299 TARGET_LINK_LIBRARIES(huawei-ascend-p7-test PRIVATE cpuinfo_mock gtest)
300 ADD_TEST(huawei-ascend-p7-test huawei-ascend-p7-test)
301
302 ADD_EXECUTABLE(lenovo-a6600-plus-test test/mock/lenovo-a6600-plus.cc)
303 TARGET_INCLUDE_DIRECTORIES(lenovo-a6600-plus-test PRIVATE test/mock)
304 TARGET_LINK_LIBRARIES(lenovo-a6600-plus-test PRIVATE cpuinfo_mock gtest)
305 ADD_TEST(lenovo-a6600-plus-test lenovo-a6600-plus-test)
306
307 ADD_EXECUTABLE(lenovo-vibe-x2-test test/mock/lenovo-vibe-x2.cc)
308 TARGET_INCLUDE_DIRECTORIES(lenovo-vibe-x2-test PRIVATE test/mock)
309 TARGET_LINK_LIBRARIES(lenovo-vibe-x2-test PRIVATE cpuinfo_mock gtest)
310 ADD_TEST(lenovo-vibe-x2-test lenovo-vibe-x2-test)
311
312 ADD_EXECUTABLE(lg-k10-eu-test test/mock/lg-k10-eu.cc)
313 TARGET_INCLUDE_DIRECTORIES(lg-k10-eu-test PRIVATE test/mock)
314 TARGET_LINK_LIBRARIES(lg-k10-eu-test PRIVATE cpuinfo_mock gtest)
315 ADD_TEST(lg-k10-eu-test lg-k10-eu-test)
316
317 ADD_EXECUTABLE(moto-e-gen1-test test/mock/moto-e-gen1.cc)
318 TARGET_INCLUDE_DIRECTORIES(moto-e-gen1-test PRIVATE test/mock)
319 TARGET_LINK_LIBRARIES(moto-e-gen1-test PRIVATE cpuinfo_mock gtest)
320 ADD_TEST(moto-e-gen1-test moto-e-gen1-test)
321
322 ADD_EXECUTABLE(moto-g-gen2-test test/mock/moto-g-gen2.cc)
323 TARGET_INCLUDE_DIRECTORIES(moto-g-gen2-test PRIVATE test/mock)
324 TARGET_LINK_LIBRARIES(moto-g-gen2-test PRIVATE cpuinfo_mock gtest)
325 ADD_TEST(moto-g-gen2-test moto-g-gen2-test)
326
327 ADD_EXECUTABLE(moto-g-gen3-test test/mock/moto-g-gen3.cc)
328 TARGET_INCLUDE_DIRECTORIES(moto-g-gen3-test PRIVATE test/mock)
329 TARGET_LINK_LIBRARIES(moto-g-gen3-test PRIVATE cpuinfo_mock gtest)
330 ADD_TEST(moto-g-gen3-test moto-g-gen3-test)
331
332 ADD_EXECUTABLE(nexus-s-test test/mock/nexus-s.cc)
333 TARGET_INCLUDE_DIRECTORIES(nexus-s-test PRIVATE test/mock)
334 TARGET_LINK_LIBRARIES(nexus-s-test PRIVATE cpuinfo_mock gtest)
335 ADD_TEST(nexus-s-test nexus-s-test)
336
337 ADD_EXECUTABLE(nexus4-test test/mock/nexus4.cc)
338 TARGET_INCLUDE_DIRECTORIES(nexus4-test PRIVATE test/mock)
339 TARGET_LINK_LIBRARIES(nexus4-test PRIVATE cpuinfo_mock gtest)
340 ADD_TEST(nexus4-test nexus4-test)
341
342 ADD_EXECUTABLE(nexus6-test test/mock/nexus6.cc)
343 TARGET_INCLUDE_DIRECTORIES(nexus6-test PRIVATE test/mock)
344 TARGET_LINK_LIBRARIES(nexus6-test PRIVATE cpuinfo_mock gtest)
345 ADD_TEST(nexus6-test nexus6-test)
346
Marat Dukhan59572542017-11-27 17:22:09 -0800347 ADD_EXECUTABLE(padcod-10.1-test test/mock/padcod-10.1.cc)
348 TARGET_INCLUDE_DIRECTORIES(padcod-10.1-test PRIVATE test/mock)
349 TARGET_LINK_LIBRARIES(padcod-10.1-test PRIVATE cpuinfo_mock gtest)
350 ADD_TEST(padcod-10.1-test padcod-10.1-test)
351
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700352 ADD_EXECUTABLE(xiaomi-redmi-2a-test test/mock/xiaomi-redmi-2a.cc)
353 TARGET_INCLUDE_DIRECTORIES(xiaomi-redmi-2a-test PRIVATE test/mock)
354 TARGET_LINK_LIBRARIES(xiaomi-redmi-2a-test PRIVATE cpuinfo_mock gtest)
355 ADD_TEST(xiaomi-redmi-2a-test xiaomi-redmi-2a-test)
Marat Dukhanad741842017-12-03 23:11:46 -0800356
357 ADD_EXECUTABLE(xperia-sl-test test/mock/xperia-sl.cc)
358 TARGET_INCLUDE_DIRECTORIES(xperia-sl-test PRIVATE test/mock)
359 TARGET_LINK_LIBRARIES(xperia-sl-test PRIVATE cpuinfo_mock gtest)
360 ADD_TEST(xperia-sl-test xperia-sl-test)
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700361 ENDIF()
362
363 IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a|aarch64)$")
364 ADD_EXECUTABLE(galaxy-c9-pro-test test/mock/galaxy-c9-pro.cc)
365 TARGET_INCLUDE_DIRECTORIES(galaxy-c9-pro-test PRIVATE test/mock)
366 TARGET_LINK_LIBRARIES(galaxy-c9-pro-test PRIVATE cpuinfo_mock gtest)
367 ADD_TEST(galaxy-c9-pro-test galaxy-c9-pro-test)
368
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700369 ADD_EXECUTABLE(galaxy-s6-test test/mock/galaxy-s6.cc)
370 TARGET_INCLUDE_DIRECTORIES(galaxy-s6-test PRIVATE test/mock)
371 TARGET_LINK_LIBRARIES(galaxy-s6-test PRIVATE cpuinfo_mock gtest)
372 ADD_TEST(galaxy-s6-test galaxy-s6-test)
373
374 ADD_EXECUTABLE(galaxy-s7-us-test test/mock/galaxy-s7-us.cc)
375 TARGET_INCLUDE_DIRECTORIES(galaxy-s7-us-test PRIVATE test/mock)
376 TARGET_LINK_LIBRARIES(galaxy-s7-us-test PRIVATE cpuinfo_mock gtest)
377 ADD_TEST(galaxy-s7-us-test galaxy-s7-us-test)
378
379 ADD_EXECUTABLE(galaxy-s7-global-test test/mock/galaxy-s7-global.cc)
380 TARGET_INCLUDE_DIRECTORIES(galaxy-s7-global-test PRIVATE test/mock)
381 TARGET_LINK_LIBRARIES(galaxy-s7-global-test PRIVATE cpuinfo_mock gtest)
382 ADD_TEST(galaxy-s7-global-test galaxy-s7-global-test)
383
384 ADD_EXECUTABLE(galaxy-s8-us-test test/mock/galaxy-s8-us.cc)
385 TARGET_INCLUDE_DIRECTORIES(galaxy-s8-us-test PRIVATE test/mock)
386 TARGET_LINK_LIBRARIES(galaxy-s8-us-test PRIVATE cpuinfo_mock gtest)
387 ADD_TEST(galaxy-s8-us-test galaxy-s8-us-test)
388
389 ADD_EXECUTABLE(galaxy-s8-global-test test/mock/galaxy-s8-global.cc)
390 TARGET_INCLUDE_DIRECTORIES(galaxy-s8-global-test PRIVATE test/mock)
391 TARGET_LINK_LIBRARIES(galaxy-s8-global-test PRIVATE cpuinfo_mock gtest)
392 ADD_TEST(galaxy-s8-global-test galaxy-s8-global-test)
393
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700394 ADD_EXECUTABLE(huawei-mate-8-test test/mock/huawei-mate-8.cc)
395 TARGET_INCLUDE_DIRECTORIES(huawei-mate-8-test PRIVATE test/mock)
396 TARGET_LINK_LIBRARIES(huawei-mate-8-test PRIVATE cpuinfo_mock gtest)
397 ADD_TEST(huawei-mate-8-test huawei-mate-8-test)
398
399 ADD_EXECUTABLE(huawei-mate-9-test test/mock/huawei-mate-9.cc)
400 TARGET_INCLUDE_DIRECTORIES(huawei-mate-9-test PRIVATE test/mock)
401 TARGET_LINK_LIBRARIES(huawei-mate-9-test PRIVATE cpuinfo_mock gtest)
402 ADD_TEST(huawei-mate-9-test huawei-mate-9-test)
403
Marat Dukhan7be11402017-11-27 14:57:02 -0800404 ADD_EXECUTABLE(huawei-mate-10-test test/mock/huawei-mate-10.cc)
405 TARGET_INCLUDE_DIRECTORIES(huawei-mate-10-test PRIVATE test/mock)
406 TARGET_LINK_LIBRARIES(huawei-mate-10-test PRIVATE cpuinfo_mock gtest)
407 ADD_TEST(huawei-mate-10-test huawei-mate-10-test)
408
Marat Dukhan705122f2018-01-03 18:24:55 -0800409 ADD_EXECUTABLE(huawei-p8-lite-test test/mock/huawei-p8-lite.cc)
410 TARGET_INCLUDE_DIRECTORIES(huawei-p8-lite-test PRIVATE test/mock)
411 TARGET_LINK_LIBRARIES(huawei-p8-lite-test PRIVATE cpuinfo_mock gtest)
412 ADD_TEST(huawei-p8-lite-test huawei-p8-lite-test)
413
414 ADD_EXECUTABLE(huawei-p9-lite-test test/mock/huawei-p9-lite.cc)
415 TARGET_INCLUDE_DIRECTORIES(huawei-p9-lite-test PRIVATE test/mock)
416 TARGET_LINK_LIBRARIES(huawei-p9-lite-test PRIVATE cpuinfo_mock gtest)
417 ADD_TEST(huawei-p9-lite-test huawei-p9-lite-test)
418
419 ADD_EXECUTABLE(iconia-one-10-test test/mock/iconia-one-10.cc)
420 TARGET_INCLUDE_DIRECTORIES(iconia-one-10-test PRIVATE test/mock)
421 TARGET_LINK_LIBRARIES(iconia-one-10-test PRIVATE cpuinfo_mock gtest)
422 ADD_TEST(iconia-one-10-test iconia-one-10-test)
423
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700424 ADD_EXECUTABLE(meizu-pro-6-test test/mock/meizu-pro-6.cc)
425 TARGET_INCLUDE_DIRECTORIES(meizu-pro-6-test PRIVATE test/mock)
426 TARGET_LINK_LIBRARIES(meizu-pro-6-test PRIVATE cpuinfo_mock gtest)
427 ADD_TEST(meizu-pro-6-test meizu-pro-6-test)
428
429 ADD_EXECUTABLE(meizu-pro-6s-test test/mock/meizu-pro-6s.cc)
430 TARGET_INCLUDE_DIRECTORIES(meizu-pro-6s-test PRIVATE test/mock)
431 TARGET_LINK_LIBRARIES(meizu-pro-6s-test PRIVATE cpuinfo_mock gtest)
432 ADD_TEST(meizu-pro-6s-test meizu-pro-6s-test)
433
434 ADD_EXECUTABLE(meizu-pro-7-plus-test test/mock/meizu-pro-7-plus.cc)
435 TARGET_INCLUDE_DIRECTORIES(meizu-pro-7-plus-test PRIVATE test/mock)
436 TARGET_LINK_LIBRARIES(meizu-pro-7-plus-test PRIVATE cpuinfo_mock gtest)
437 ADD_TEST(meizu-pro-7-plus-test meizu-pro-7-plus-test)
438
439 ADD_EXECUTABLE(nexus5x-test test/mock/nexus5x.cc)
440 TARGET_INCLUDE_DIRECTORIES(nexus5x-test PRIVATE test/mock)
441 TARGET_LINK_LIBRARIES(nexus5x-test PRIVATE cpuinfo_mock gtest)
442 ADD_TEST(nexus5x-test nexus5x-test)
443
444 ADD_EXECUTABLE(nexus6p-test test/mock/nexus6p.cc)
445 TARGET_INCLUDE_DIRECTORIES(nexus6p-test PRIVATE test/mock)
446 TARGET_LINK_LIBRARIES(nexus6p-test PRIVATE cpuinfo_mock gtest)
447 ADD_TEST(nexus6p-test nexus6p-test)
448
449 ADD_EXECUTABLE(nexus9-test test/mock/nexus9.cc)
450 TARGET_INCLUDE_DIRECTORIES(nexus9-test PRIVATE test/mock)
451 TARGET_LINK_LIBRARIES(nexus9-test PRIVATE cpuinfo_mock gtest)
452 ADD_TEST(nexus9-test nexus9-test)
453
Marat Dukhan75dd8a12017-12-04 15:43:02 -0800454 ADD_EXECUTABLE(oppo-a37-test test/mock/oppo-a37.cc)
455 TARGET_INCLUDE_DIRECTORIES(oppo-a37-test PRIVATE test/mock)
456 TARGET_LINK_LIBRARIES(oppo-a37-test PRIVATE cpuinfo_mock gtest)
457 ADD_TEST(oppo-a37-test oppo-a37-test)
458
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700459 ADD_EXECUTABLE(oppo-r9-test test/mock/oppo-r9.cc)
460 TARGET_INCLUDE_DIRECTORIES(oppo-r9-test PRIVATE test/mock)
461 TARGET_LINK_LIBRARIES(oppo-r9-test PRIVATE cpuinfo_mock gtest)
462 ADD_TEST(oppo-r9-test oppo-r9-test)
463
464 ADD_EXECUTABLE(pixel-test test/mock/pixel.cc)
465 TARGET_INCLUDE_DIRECTORIES(pixel-test PRIVATE test/mock)
466 TARGET_LINK_LIBRARIES(pixel-test PRIVATE cpuinfo_mock gtest)
467 ADD_TEST(pixel-test pixel-test)
468
469 ADD_EXECUTABLE(pixel-c-test test/mock/pixel-c.cc)
470 TARGET_INCLUDE_DIRECTORIES(pixel-c-test PRIVATE test/mock)
471 TARGET_LINK_LIBRARIES(pixel-c-test PRIVATE cpuinfo_mock gtest)
472 ADD_TEST(pixel-c-test pixel-c-test)
473
474 ADD_EXECUTABLE(pixel-xl-test test/mock/pixel-xl.cc)
475 TARGET_INCLUDE_DIRECTORIES(pixel-xl-test PRIVATE test/mock)
476 TARGET_LINK_LIBRARIES(pixel-xl-test PRIVATE cpuinfo_mock gtest)
477 ADD_TEST(pixel-xl-test pixel-xl-test)
478
Marat Dukhan9bfb1072017-11-27 17:02:25 -0800479 ADD_EXECUTABLE(pixel-2-xl-test test/mock/pixel-2-xl.cc)
480 TARGET_INCLUDE_DIRECTORIES(pixel-2-xl-test PRIVATE test/mock)
481 TARGET_LINK_LIBRARIES(pixel-2-xl-test PRIVATE cpuinfo_mock gtest)
482 ADD_TEST(pixel-2-xl-test pixel-2-xl-test)
483
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700484 ADD_EXECUTABLE(xiaomi-mi-5c-test test/mock/xiaomi-mi-5c.cc)
485 TARGET_INCLUDE_DIRECTORIES(xiaomi-mi-5c-test PRIVATE test/mock)
486 TARGET_LINK_LIBRARIES(xiaomi-mi-5c-test PRIVATE cpuinfo_mock gtest)
487 ADD_TEST(xiaomi-mi-5c-test xiaomi-mi-5c-test)
488
489 ADD_EXECUTABLE(xiaomi-redmi-note-3-test test/mock/xiaomi-redmi-note-3.cc)
490 TARGET_INCLUDE_DIRECTORIES(xiaomi-redmi-note-3-test PRIVATE test/mock)
491 TARGET_LINK_LIBRARIES(xiaomi-redmi-note-3-test PRIVATE cpuinfo_mock gtest)
492 ADD_TEST(xiaomi-redmi-note-3-test xiaomi-redmi-note-3-test)
493
Marat Dukhana5fda232017-12-04 16:08:25 -0800494 ADD_EXECUTABLE(xiaomi-redmi-note-4-test test/mock/xiaomi-redmi-note-4.cc)
495 TARGET_INCLUDE_DIRECTORIES(xiaomi-redmi-note-4-test PRIVATE test/mock)
496 TARGET_LINK_LIBRARIES(xiaomi-redmi-note-4-test PRIVATE cpuinfo_mock gtest)
497 ADD_TEST(xiaomi-redmi-note-4-test xiaomi-redmi-note-4-test)
498
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700499 ADD_EXECUTABLE(xperia-c4-dual-test test/mock/xperia-c4-dual.cc)
500 TARGET_INCLUDE_DIRECTORIES(xperia-c4-dual-test PRIVATE test/mock)
501 TARGET_LINK_LIBRARIES(xperia-c4-dual-test PRIVATE cpuinfo_mock gtest)
502 ADD_TEST(xperia-c4-dual-test xperia-c4-dual-test)
503 ENDIF()
504
505 IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64)$")
Marat Dukhanaf8a12d2017-12-08 16:12:16 -0800506 ADD_EXECUTABLE(alldocube-iwork8-test test/mock/alldocube-iwork8.cc)
507 TARGET_INCLUDE_DIRECTORIES(alldocube-iwork8-test PRIVATE test/mock)
508 TARGET_LINK_LIBRARIES(alldocube-iwork8-test PRIVATE cpuinfo_mock gtest)
509 ADD_TEST(alldocube-iwork8-test alldocube-iwork8-test)
510
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700511 ADD_EXECUTABLE(memo-pad-7-test test/mock/memo-pad-7.cc)
512 TARGET_INCLUDE_DIRECTORIES(memo-pad-7-test PRIVATE test/mock)
513 TARGET_LINK_LIBRARIES(memo-pad-7-test PRIVATE cpuinfo_mock gtest)
514 ADD_TEST(memo-pad-7-test memo-pad-7-test)
515
516 ADD_EXECUTABLE(zenfone-c-test test/mock/zenfone-c.cc)
517 TARGET_INCLUDE_DIRECTORIES(zenfone-c-test PRIVATE test/mock)
518 TARGET_LINK_LIBRARIES(zenfone-c-test PRIVATE cpuinfo_mock gtest)
519 ADD_TEST(zenfone-c-test zenfone-c-test)
520
521 ADD_EXECUTABLE(zenfone-2-test test/mock/zenfone-2.cc)
522 TARGET_INCLUDE_DIRECTORIES(zenfone-2-test PRIVATE test/mock)
523 TARGET_LINK_LIBRARIES(zenfone-2-test PRIVATE cpuinfo_mock gtest)
524 ADD_TEST(zenfone-2-test zenfone-2-test)
525
526 ADD_EXECUTABLE(zenfone-2e-test test/mock/zenfone-2e.cc)
527 TARGET_INCLUDE_DIRECTORIES(zenfone-2e-test PRIVATE test/mock)
528 TARGET_LINK_LIBRARIES(zenfone-2e-test PRIVATE cpuinfo_mock gtest)
529 ADD_TEST(zenfone-2e-test zenfone-2e-test)
530 ENDIF()
531ENDIF()
532
533# ---[ cpuinfo unit tests
534IF(CPUINFO_BUILD_UNIT_TESTS)
535 ADD_EXECUTABLE(init-test test/init.cc)
536 TARGET_LINK_LIBRARIES(init-test PRIVATE cpuinfo gtest)
537 ADD_TEST(init-test init-test)
538
539 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
540 ADD_EXECUTABLE(get-current-test test/get-current.cc)
541 TARGET_LINK_LIBRARIES(get-current-test PRIVATE cpuinfo gtest)
542 ADD_TEST(get-current-test get-current-test)
543 ENDIF()
544
545 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64)$")
546 ADD_EXECUTABLE(brand-string-test test/name/brand-string.cc)
547 TARGET_LINK_LIBRARIES(brand-string-test PRIVATE cpuinfo gtest gtest_main)
548 ADD_TEST(brand-string-test brand-string-test)
549 ENDIF()
550
551 IF(CMAKE_SYSTEM_NAME STREQUAL "Android" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7-a|aarch64)$")
552 ADD_LIBRARY(android_properties_interface test/name/android-properties-interface.c)
553 TARGET_INCLUDE_DIRECTORIES(android_properties_interface PRIVATE src)
554 TARGET_LINK_LIBRARIES(android_properties_interface PRIVATE cpuinfo)
555
556 ADD_EXECUTABLE(chipset-test
557 test/name/proc-cpuinfo-hardware.cc
558 test/name/ro-product-board.cc
559 test/name/ro-board-platform.cc
560 test/name/ro-mediatek-platform.cc
561 test/name/ro-chipname.cc
562 test/name/android-properties.cc)
563 TARGET_LINK_LIBRARIES(chipset-test PRIVATE android_properties_interface gtest gtest_main)
564 ADD_TEST(chipset-test chipset-test)
565
566 ADD_EXECUTABLE(cache-test test/arm-cache.cc)
567 TARGET_COMPILE_DEFINITIONS(cache-test PRIVATE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS)
568 TARGET_INCLUDE_DIRECTORIES(cache-test PRIVATE src)
569 TARGET_LINK_LIBRARIES(cache-test PRIVATE cpuinfo gtest gtest_main)
570 ADD_TEST(cache-test, cache-test)
571 ENDIF()
Marat Dukhanb8a83372017-10-13 21:07:44 -0400572ENDIF()
573
Marat Dukhan3645b922017-10-13 17:03:35 -0400574# ---[ Helper and debug tools
Marat Dukhanf1c4a5c2017-10-25 17:22:11 -0700575IF(CPUINFO_BUILD_TOOLS)
Marat Dukhan3645b922017-10-13 17:03:35 -0400576 ADD_EXECUTABLE(isa-info tools/isa-info.c)
577 TARGET_LINK_LIBRARIES(isa-info PRIVATE cpuinfo)
578
579 ADD_EXECUTABLE(cpu-info tools/cpu-info.c)
580 TARGET_LINK_LIBRARIES(cpu-info PRIVATE cpuinfo)
581
582 ADD_EXECUTABLE(cache-info tools/cache-info.c)
583 TARGET_LINK_LIBRARIES(cache-info PRIVATE cpuinfo)
584
Marat Dukhanf3a71e62017-11-29 15:15:36 -0800585 IF(CMAKE_SYSTEM_NAME MATCHES "^(Android|Linux)$" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv5te|armv7|armv7-a|armv7l|arm64|aarch64)$")
586 ADD_EXECUTABLE(auxv-dump tools/auxv-dump.c)
587 TARGET_INCLUDE_DIRECTORIES(auxv-dump PRIVATE src)
588 TARGET_INCLUDE_DIRECTORIES(auxv-dump PRIVATE include)
589 ENDIF()
590
Marat Dukhan3645b922017-10-13 17:03:35 -0400591 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64)$")
592 ADD_EXECUTABLE(cpuid-dump tools/cpuid-dump.c)
593 TARGET_INCLUDE_DIRECTORIES(cpuid-dump PRIVATE src)
594 TARGET_INCLUDE_DIRECTORIES(cpuid-dump PRIVATE include)
595 ENDIF()
596ENDIF()