1- # Get Compiler flags from our current CMake environment,
2- # Will be passed to Autotools and Meson
1+ # Process CFLAGS, CXXFLAGS and LDFLAGS
2+
3+ # CMAKE_C_FLAGS and CMAKE_CXX_FLAGS will by used by Autotools, CMake and Meson
4+
5+ # Android toolchain adds debugging symbols even in MinSizeRel, but strips them when packaging APK.
6+ # APK is not necessary in this use case, just strip -g
7+ if (CMAKE_BUILD_TYPE STREQUAL MinSizeRel)
8+ STRING (REPLACE "-g" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS} " )
9+ STRING (REPLACE "-g" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} " )
10+ endif ()
11+
12+ # CFLAGS , CXXFLAGS and LDFLAGS will by used by Autotools and Meson
313
414SET (CFLAGS ${CMAKE_C_FLAGS} )
515SET (CXXFLAGS ${CMAKE_CXX_FLAGS} )
@@ -23,37 +33,9 @@ STRING(APPEND CFLAGS " -I${THIRDPARTY_PREFIX}/include")
2333STRING (APPEND CXXFLAGS " -I${THIRDPARTY_PREFIX} /include" )
2434STRING (APPEND LDFLAGS " -L${THIRDPARTY_PREFIX} /lib" )
2535
36+ # march=armv7-a breaks build.
37+ # Both Autotools and Meson fail, telling that compiler does not work
2638if (CMAKE_BUILD_TYPE STREQUAL MinSizeRel)
27- STRING (REPLACE "-g " " " CFLAGS ${CFLAGS} )
28- STRING (REPLACE "-g " " " CXXFLAGS ${CXXFLAGS} )
29- endif ()
30-
31- if (ANDROID )
32- if (ANDROID_ABI STREQUAL armeabi-v7a)
33- SET (AS ${ANDROID_TOOLCHAIN_ROOT} /bin/armv7a-linux -androideabi-as)
34- SET (CC ${ANDROID_TOOLCHAIN_ROOT} /bin/armv7a-linux -androideabi${ANDROID_NATIVE_API_LEVEL} -clang)
35- SET (CXX ${ANDROID_TOOLCHAIN_ROOT} /bin/armv7a-linux -androideabi${ANDROID_NATIVE_API_LEVEL} -clang++)
36- SET (HOST_TRIPLE armv7a-linux -androideabi)
37- elseif (ANDROID_ABI STREQUAL arm64-v8a)
38- SET (AS ${ANDROID_TOOLCHAIN_ROOT} /bin/aarch64-linux -android -as)
39- SET (CC ${ANDROID_TOOLCHAIN_ROOT} /bin/aarch64-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang)
40- SET (CXX ${ANDROID_TOOLCHAIN_ROOT} /bin/aarch64-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang++)
41- SET (HOST_TRIPLE aarch64-linux -android )
42- elseif (ANDROID_ABI STREQUAL x86)
43- SET (AS ${ANDROID_TOOLCHAIN_ROOT} /bin/x86-linux -android -as)
44- SET (CC ${ANDROID_TOOLCHAIN_ROOT} /bin/i686-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang)
45- SET (CXX ${ANDROID_TOOLCHAIN_ROOT} /bin/i686-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang++)
46- SET (HOST_TRIPLE i686-linux -android )
47- elseif (ANDROID_ABI STREQUAL x86_64)
48- SET (AS ${ANDROID_TOOLCHAIN_ROOT} /bin/x86_64-linux -android -as)
49- SET (CC ${ANDROID_TOOLCHAIN_ROOT} /bin/x86_64-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang)
50- SET (CXX ${ANDROID_TOOLCHAIN_ROOT} /bin/x86_64-linux -android ${ANDROID_NATIVE_API_LEVEL} -clang++)
51- SET (HOST_TRIPLE x86_64-linux -android )
52- else ()
53- message (FATAL_ERROR "Invalid Android ABI: ${ANDROID_ABI} ." )
54- endif ()
55- else ()
56- #SET(AS @TODO: set AS binary)
57- SET (CC ${CMAKE_C_COMPILER} )
58- SET (CXX ${CMAKE_CXX_COMPILER} )
39+ STRING (REPLACE "-march=armv7-a" "" CFLAGS "${CFLAGS} " )
40+ STRING (REPLACE "-march=armv7-a" "" CXXFLAGS "${CXXFLAGS} " )
5941endif ()
0 commit comments