@@ -77,7 +77,7 @@ IF(NOT CMAKE_SYSTEM_NAME)
77
77
"Target operating system is not specified. "
78
78
"cpuinfo will compile, but cpuinfo_initialize() will always fail." )
79
79
SET (CPUINFO_SUPPORTED_PLATFORM FALSE )
80
- ELSEIF (NOT CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS|Darwin|Linux|Android)$" )
80
+ ELSEIF (NOT CMAKE_SYSTEM_NAME MATCHES "^(Windows|WindowsStore| CYGWIN|MSYS|Darwin|Linux|Android)$" )
81
81
IF (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14" AND NOT CMAKE_SYSTEM_NAME STREQUAL "iOS" )
82
82
MESSAGE (WARNING
83
83
"Target operating system \" ${CMAKE_SYSTEM_NAME} \" is not supported in cpuinfo. "
@@ -141,7 +141,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM)
141
141
src/x86/linux/cpuinfo.c)
142
142
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS" )
143
143
LIST (APPEND CPUINFO_SRCS src/x86/mach/init.c)
144
- ELSEIF (CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$" )
144
+ ELSEIF (CMAKE_SYSTEM_NAME MATCHES "^(Windows|WindowsStore| CYGWIN|MSYS)$" )
145
145
LIST (APPEND CPUINFO_SRCS src/x86/windows/init.c)
146
146
ENDIF ()
147
147
ELSEIF (CPUINFO_TARGET_PROCESSOR MATCHES "^(armv[5-8].*|aarch64|arm64)$" OR IOS_ARCH MATCHES "^(armv7.*|arm64.*)$" )
@@ -171,7 +171,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM)
171
171
LIST (APPEND CPUINFO_SRCS
172
172
src/arm/android/properties.c)
173
173
ENDIF ()
174
- ELSEIF (CMAKE_SYSTEM_NAME STREQUAL " Windows" AND CPUINFO_TARGET_PROCESSOR STREQUAL "ARM64" )
174
+ ELSEIF (( CMAKE_SYSTEM_NAME MATCHES "^ Windows") AND CPUINFO_TARGET_PROCESSOR STREQUAL "ARM64" )
175
175
LIST (APPEND CPUINFO_SRCS src/arm/windows/init-by-logical-sys-info.c)
176
176
LIST (APPEND CPUINFO_SRCS src/arm/windows/init.c)
177
177
ENDIF ()
@@ -211,10 +211,14 @@ ADD_LIBRARY(cpuinfo_internals STATIC ${CPUINFO_SRCS})
211
211
CPUINFO_TARGET_ENABLE_C99(cpuinfo)
212
212
CPUINFO_TARGET_ENABLE_C99(cpuinfo_internals)
213
213
CPUINFO_TARGET_RUNTIME_LIBRARY(cpuinfo)
214
- IF (CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$" )
214
+ IF (CMAKE_SYSTEM_NAME MATCHES "^(Windows|WindowsStore| CYGWIN|MSYS)$" )
215
215
# Target Windows 7+ API
216
- TARGET_COMPILE_DEFINITIONS (cpuinfo PRIVATE _WIN32_WINNT=0x0601)
217
- TARGET_COMPILE_DEFINITIONS (cpuinfo_internals PRIVATE _WIN32_WINNT=0x0601)
216
+ TARGET_COMPILE_DEFINITIONS (cpuinfo PRIVATE _WIN32_WINNT=0x0601 _CRT_SECURE_NO_WARNINGS)
217
+ TARGET_COMPILE_DEFINITIONS (cpuinfo_internals PRIVATE _WIN32_WINNT=0x0601 _CRT_SECURE_NO_WARNINGS)
218
+ # Explicitly link Kernel32 for UWP build
219
+ if (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" )
220
+ TARGET_LINK_LIBRARIES (cpuinfo PUBLIC Kernel32)
221
+ endif ()
218
222
ENDIF ()
219
223
SET_TARGET_PROPERTIES (cpuinfo PROPERTIES PUBLIC_HEADER include /cpuinfo.h)
220
224
TARGET_INCLUDE_DIRECTORIES (cpuinfo BEFORE PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include > $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >)
0 commit comments