diff options
| author | Brent Cook <busterb@gmail.com> | 2023-10-29 12:01:49 -0500 |
|---|---|---|
| committer | Brent Cook <busterb@gmail.com> | 2023-10-29 12:01:49 -0500 |
| commit | 80489416222831efbfa3d0e2c74e39bfddb2dcb8 (patch) | |
| tree | 7577b381afc73ba4f692c9728504c217a621eaed | |
| parent | fe731f3db0177af78a6615ecd79926e0bfd9288a (diff) | |
| parent | 321fa56d9af8f4cb0ce7cd69d4f91b8c1a37b7a8 (diff) | |
| download | portable-80489416222831efbfa3d0e2c74e39bfddb2dcb8.tar.gz portable-80489416222831efbfa3d0e2c74e39bfddb2dcb8.tar.bz2 portable-80489416222831efbfa3d0e2c74e39bfddb2dcb8.zip | |
Land #909, Fix processor detection with Cmake
| -rw-r--r-- | CMakeLists.txt | 39 | ||||
| -rwxr-xr-x | update.sh | 1 |
2 files changed, 20 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ca593f2..a1a0077 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -63,11 +63,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) | |||
| 63 | endif() | 63 | endif() |
| 64 | 64 | ||
| 65 | # Enable asserts regardless of build type | 65 | # Enable asserts regardless of build type |
| 66 | if(MSVC) | 66 | add_definitions(-UNDEBUG) |
| 67 | add_definitions(/UNDEBUG) | ||
| 68 | else() | ||
| 69 | add_definitions(-UNDEBUG) | ||
| 70 | endif() | ||
| 71 | 67 | ||
| 72 | set(BUILD_NC true) | 68 | set(BUILD_NC true) |
| 73 | 69 | ||
| @@ -152,17 +148,17 @@ if(MSVC) | |||
| 152 | "C4100" # 'identifier' : unreferenced formal parameter | 148 | "C4100" # 'identifier' : unreferenced formal parameter |
| 153 | "C4127" # conditional expression is constant | 149 | "C4127" # conditional expression is constant |
| 154 | "C4146" # unary minus operator applied to unsigned type, | 150 | "C4146" # unary minus operator applied to unsigned type, |
| 155 | # result still unsigned | 151 | # result still unsigned |
| 156 | "C4244" # 'argument' : conversion from 'type1' to 'type2', | 152 | "C4244" # 'argument' : conversion from 'type1' to 'type2', |
| 157 | # possible loss of data | 153 | # possible loss of data |
| 158 | "C4245" # 'conversion' : conversion from 'type1' to 'type2', | 154 | "C4245" # 'conversion' : conversion from 'type1' to 'type2', |
| 159 | # signed/unsigned mismatch | 155 | # signed/unsigned mismatch |
| 160 | "C4267" # 'var' : conversion from 'size_t' to 'type', | 156 | "C4267" # 'var' : conversion from 'size_t' to 'type', |
| 161 | # possible loss of data | 157 | # possible loss of data |
| 162 | "C4389" # 'operator' : signed/unsigned mismatch | 158 | "C4389" # 'operator' : signed/unsigned mismatch |
| 163 | "C4706" # assignment within conditional expression | 159 | "C4706" # assignment within conditional expression |
| 164 | "C4996" # The POSIX name for this item is deprecated. | 160 | "C4996" # The POSIX name for this item is deprecated. |
| 165 | # Instead, use the ISO C and C++ conformant name | 161 | # Instead, use the ISO C and C++ conformant name |
| 166 | ) | 162 | ) |
| 167 | elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") | 163 | elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") |
| 168 | add_definitions(-D_CRT_SUPPRESS_RESTRICT) | 164 | add_definitions(-D_CRT_SUPPRESS_RESTRICT) |
| @@ -333,32 +329,35 @@ endif() | |||
| 333 | # single architecture work on macOS at least. | 329 | # single architecture work on macOS at least. |
| 334 | # | 330 | # |
| 335 | # Don't set CMAKE_OSX_ARCHITECTURES to more than a single value for now. | 331 | # Don't set CMAKE_OSX_ARCHITECTURES to more than a single value for now. |
| 336 | if(APPLE) | 332 | if(APPLE AND (NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")) |
| 337 | set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}") | 333 | set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}") |
| 338 | endif() | 334 | endif() |
| 339 | 335 | ||
| 340 | if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64)") | 336 | if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64|ARM64)") |
| 341 | set(HOST_AARCH64 true) | 337 | set(HOST_AARCH64 true) |
| 342 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") | 338 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") |
| 343 | set(HOST_ARM true) | 339 | set(HOST_ARM true) |
| 344 | elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") | 340 | elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") |
| 345 | set(HOST_X86_64 true) | 341 | set(HOST_X86_64 true) |
| 346 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)") | 342 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64|AMD64)") |
| 347 | set(HOST_X86_64 true) | 343 | set(HOST_X86_64 true) |
| 348 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "[i?86|x86]") | 344 | if (MSVC) |
| 345 | set(ENABLE_ASM false) | ||
| 346 | endif() | ||
| 347 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|[xX]86)") | ||
| 349 | set(ENABLE_ASM false) | 348 | set(ENABLE_ASM false) |
| 350 | set(HOST_I386 true) | 349 | set(HOST_I386 true) |
| 351 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips64") | 350 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips64") |
| 352 | set(HOST_MIPS64 true) | 351 | set(HOST_MIPS64 true) |
| 353 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips") | 352 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips") |
| 354 | set(HOST_MIPS true) | 353 | set(HOST_MIPS true) |
| 355 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "powerpc") | 354 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "powerpc") |
| 356 | set(HOST_POWERPC true) | 355 | set(HOST_POWERPC true) |
| 357 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "ppc64") | 356 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "ppc64") |
| 358 | set(HOST_PPC64 true) | 357 | set(HOST_PPC64 true) |
| 359 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "riscv64") | 358 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "riscv64") |
| 360 | set(HOST_RISCV64 true) | 359 | set(HOST_RISCV64 true) |
| 361 | elseif("${CMAKE_SYSTEM_NAME}" MATCHES "sparc64") | 360 | elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "sparc64") |
| 362 | set(HOST_SPARC64 true) | 361 | set(HOST_SPARC64 true) |
| 363 | else() | 362 | else() |
| 364 | set(ENABLE_ASM false) | 363 | set(ENABLE_ASM false) |
| @@ -191,6 +191,7 @@ fixup_masm() { | |||
| 191 | | sed -e 's/|/OR/g' \ | 191 | | sed -e 's/|/OR/g' \ |
| 192 | | sed -e 's/~/NOT/g' \ | 192 | | sed -e 's/~/NOT/g' \ |
| 193 | | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ | 193 | | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ |
| 194 | | sed -e 's/^ALIGN.*//g' \ | ||
| 194 | > $2 | 195 | > $2 |
| 195 | } | 196 | } |
| 196 | 197 | ||
