mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 07:34:45 +00:00
* Feature: Properly detect ARM32/ARM64 in the CMake build process and enable ARM NEON when either of these are detected.
This commit is contained in:
parent
69216b706a
commit
6b56210a47
2 changed files with 22 additions and 9 deletions
|
|
@ -22,10 +22,19 @@
|
||||||
|
|
||||||
project("Torque3DEngine")
|
project("Torque3DEngine")
|
||||||
|
|
||||||
if( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8 )
|
# Detect 32bit and 64bit x86/ARM
|
||||||
set( TORQUE_CPU_X64 ON )
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||||
elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
|
if( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8 )
|
||||||
set( TORQUE_CPU_X32 ON )
|
set( TORQUE_CPU_ARM64 ON )
|
||||||
|
elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
|
||||||
|
set( TORQUE_CPU_ARM32 ON )
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8 )
|
||||||
|
set( TORQUE_CPU_X64 ON )
|
||||||
|
elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
|
||||||
|
set( TORQUE_CPU_X32 ON )
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT TORQUE_TEMPLATE)
|
if(NOT TORQUE_TEMPLATE)
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,17 @@ project(lpng)
|
||||||
|
|
||||||
# addDef(PNG_NO_ASSEMBLER_CODE)
|
# addDef(PNG_NO_ASSEMBLER_CODE)
|
||||||
|
|
||||||
# Issues with Neon at the moment (Arm support)
|
# Enables NEON for libpng
|
||||||
# https://sourceforge.net/p/libpng/bugs/281/
|
if ( TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64 )
|
||||||
set(PNG_ARM_NEON off CACHE STRING "")
|
set(PNG_INTEL_NEON on CACHE STRING "")
|
||||||
add_definitions(-DPNG_ARM_NEON_OPT=0)
|
add_definitions(-DPNG_ARM_NEON_OPT=1)
|
||||||
|
addPath("${libDir}/lpng/arm")
|
||||||
|
else()
|
||||||
|
set(PNG_ARM_NEON off CACHE STRING "")
|
||||||
|
add_definitions(-DPNG_ARM_NEON_OPT=0)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Enables SSE for libpng - also takes care of compiler warnings.
|
# Enables SSE for libpng - also takes care of compiler warnings.
|
||||||
# If we don't want SSE, we should set it to off/0.
|
|
||||||
if ( TORQUE_CPU_X32 OR TORQUE_CPU_X64 )
|
if ( TORQUE_CPU_X32 OR TORQUE_CPU_X64 )
|
||||||
set(PNG_INTEL_SSE on CACHE STRING "")
|
set(PNG_INTEL_SSE on CACHE STRING "")
|
||||||
add_definitions(-DPNG_INTEL_SSE_OPT=1)
|
add_definitions(-DPNG_INTEL_SSE_OPT=1)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue