File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3535 -DCMAKE_BUILD_TYPE=Release \
3636 -DCMAKE_CXX_COMPILER=${{ matrix.sys.compiler }} \
3737 -DXSIMD_ENABLE_WERROR=ON \
38- -DCMAKE_CXX_FLAGS="-DXSIMD_DEFAULT_ARCH=emulated\<${{ matrix.sys.size }}\> -DXSIMD_WITH_EMULATED=1 $CXXFLAGS" \
38+ -DTARGET_ARCH="emulated\<${{ matrix.sys.size }}\>" \
39+ -DCMAKE_CXX_FLAGS="CXXFLAGS" \
3940 -GNinja
4041 - name : Build
4142 run : ninja -C _build
Original file line number Diff line number Diff line change @@ -43,6 +43,13 @@ OPTION(CROSS_COMPILE_ARM "cross compile for ARM targets" OFF)
4343# Note: to compile on ARM (or cross compile), you may need to add the following:
4444# -DTARGET_ARCH="armv8-a -mfpu=neon -mfloat-abi=softfp -target arm-linux-gnueabi"
4545set (TARGET_ARCH "native" CACHE STRING "Target architecture arguments" )
46+ string (REGEX MATCH "emulated\\\\ <[0-9]+\\\\ >" TARGET_EMULATED ${TARGET_ARCH} )
47+
48+ if (TARGET_EMULATED)
49+ message (STATUS "Using emulated target: ${TARGET_EMULATED} " )
50+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXSIMD_DEFAULT_ARCH=${TARGET_ARCH} -DXSIMD_WITH_EMULATED=1" )
51+ unset (TARGET_ARCH CACHE )
52+ endif ()
4653
4754if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel" )
4855 if (NOT WIN32 AND NOT ANDROID )
@@ -111,7 +118,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU"
111118 elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x" )
112119 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=z14 -mzvector" )
113120 elseif (NOT WIN32 AND NOT EMSCRIPTEN)
114- if (NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES)
121+ if (TARGET_ARCH AND NOT CMAKE_CXX_FLAGS MATCHES "-march" AND NOT CMAKE_CXX_FLAGS MATCHES "-arch" AND NOT CMAKE_OSX_ARCHITECTURES)
115122 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH} " )
116123 endif ()
117124 endif ()
You can’t perform that action at this time.
0 commit comments