|
|
|
@ -766,30 +766,30 @@ set( CMAKE_COMPILER_IS_GNUASM 1) |
|
|
|
|
# NDK flags |
|
|
|
|
if( ARMEABI OR ARMEABI_V7A ) |
|
|
|
|
# NDK also defines -ffunction-sections -funwind-tables but they result in worse OpenCV performance |
|
|
|
|
set( CMAKE_CXX_FLAGS "-fPIC -Wno-psabi" ) |
|
|
|
|
set( CMAKE_C_FLAGS "-fPIC -Wno-psabi" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "-fPIC -Wno-psabi" ) |
|
|
|
|
set( _CMAKE_C_FLAGS "-fPIC -Wno-psabi" ) |
|
|
|
|
remove_definitions( -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ ) |
|
|
|
|
add_definitions( -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ ) |
|
|
|
|
# extra arm-specific flags |
|
|
|
|
set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fsigned-char" ) |
|
|
|
|
elseif( X86 ) |
|
|
|
|
set( CMAKE_CXX_FLAGS "-funwind-tables" ) |
|
|
|
|
set( CMAKE_C_FLAGS "-funwind-tables" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "-funwind-tables" ) |
|
|
|
|
set( _CMAKE_C_FLAGS "-funwind-tables" ) |
|
|
|
|
elseif( MIPS ) |
|
|
|
|
set( CMAKE_CXX_FLAGS "-fpic -Wno-psabi -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS "-fpic -Wno-psabi -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "-fpic -Wno-psabi -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "-fpic -Wno-psabi -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" ) |
|
|
|
|
set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fsigned-char" ) |
|
|
|
|
else() |
|
|
|
|
set( CMAKE_CXX_FLAGS "" ) |
|
|
|
|
set( CMAKE_C_FLAGS "" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "" ) |
|
|
|
|
set( _CMAKE_C_FLAGS "" ) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if( ANDROID_USE_STLPORT ) |
|
|
|
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions" ) |
|
|
|
|
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-rtti -fno-exceptions" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "${_CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions" ) |
|
|
|
|
set( _CMAKE_C_FLAGS "${_CMAKE_C_FLAGS} -fno-rtti -fno-exceptions" ) |
|
|
|
|
else() |
|
|
|
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti -fexceptions" ) |
|
|
|
|
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS "${_CMAKE_CXX_FLAGS} -frtti -fexceptions" ) |
|
|
|
|
set( _CMAKE_C_FLAGS "${_CMAKE_C_FLAGS} -fexceptions" ) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
#release and debug flags |
|
|
|
@ -798,33 +798,33 @@ if( ARMEABI OR ARMEABI_V7A ) |
|
|
|
|
#It is recommended to use the -mthumb compiler flag to force the generation |
|
|
|
|
#of 16-bit Thumb-1 instructions (the default being 32-bit ARM ones). |
|
|
|
|
# O3 instead of O2/Os in release mode - like cmake sets for desktop gcc |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "-mthumb -O3" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "-mthumb -O3" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "-marm -Os -finline-limit=64" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "-marm -Os -finline-limit=64" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_RELEASE "-mthumb -O3" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_RELEASE "-mthumb -O3" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_DEBUG "-marm -Os -finline-limit=64" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_DEBUG "-marm -Os -finline-limit=64" ) |
|
|
|
|
else() |
|
|
|
|
# always compile ARMEABI_V6 in arm mode; otherwise there is no difference from ARMEABI |
|
|
|
|
# O3 instead of O2/Os in release mode - like cmake sets for desktop gcc |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "-marm -O3 -fstrict-aliasing" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "-marm -O3 -fstrict-aliasing" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "-marm -O0 -finline-limit=300" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "-marm -O0 -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_RELEASE "-marm -O3 -fstrict-aliasing" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_RELEASE "-marm -O3 -fstrict-aliasing" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_DEBUG "-marm -O0 -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_DEBUG "-marm -O0 -finline-limit=300" ) |
|
|
|
|
endif() |
|
|
|
|
elseif( X86 ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -fstrict-aliasing" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "-O3 -fstrict-aliasing" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "-O0 -finline-limit=300" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "-O0 -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_RELEASE "-O3 -fstrict-aliasing" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_RELEASE "-O3 -fstrict-aliasing" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_DEBUG "-O0 -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_DEBUG "-O0 -finline-limit=300" ) |
|
|
|
|
elseif( MIPS ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -funswitch-loops -finline-limit=300" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "-O3 -funswitch-loops -finline-limit=300" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "-O0 -g" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "-O0 -g" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_RELEASE "-O3 -funswitch-loops -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_RELEASE "-O3 -funswitch-loops -finline-limit=300" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_DEBUG "-O0 -g" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_DEBUG "-O0 -g" ) |
|
|
|
|
endif() |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -DNDEBUG" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer -DNDEBUG" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-strict-aliasing -fno-omit-frame-pointer -DDEBUG -D_DEBUG" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-strict-aliasing -fno-omit-frame-pointer -DDEBUG -D_DEBUG" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_RELEASE "${_CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -DNDEBUG" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_RELEASE "${_CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer -DNDEBUG" ) |
|
|
|
|
set( _CMAKE_CXX_FLAGS_DEBUG "${_CMAKE_CXX_FLAGS_DEBUG} -fno-strict-aliasing -fno-omit-frame-pointer -DDEBUG -D_DEBUG" ) |
|
|
|
|
set( _CMAKE_C_FLAGS_DEBUG "${_CMAKE_C_FLAGS_DEBUG} -fno-strict-aliasing -fno-omit-frame-pointer -DDEBUG -D_DEBUG" ) |
|
|
|
|
|
|
|
|
|
#ABI-specific flags |
|
|
|
|
if( ARMEABI_V7A ) |
|
|
|
@ -928,12 +928,12 @@ if( ARMEABI_V7A ) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
#cache flags |
|
|
|
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "c++ Release flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "c Release flags" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "c++ Debug flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}" CACHE STRING "c Debug flags" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS "${_CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS "${_CMAKE_C_FLAGS}" CACHE STRING "c flags" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_RELEASE "${_CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "c++ Release flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS_RELEASE "${_CMAKE_C_FLAGS_RELEASE}" CACHE STRING "c Release flags" ) |
|
|
|
|
set( CMAKE_CXX_FLAGS_DEBUG "${_CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "c++ Debug flags" ) |
|
|
|
|
set( CMAKE_C_FLAGS_DEBUG "${_CMAKE_C_FLAGS_DEBUG}" CACHE STRING "c Debug flags" ) |
|
|
|
|
set( CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "linker flags" ) |
|
|
|
|
set( CMAKE_MODULE_LINKER_FLAGS "" CACHE STRING "linker flags" ) |
|
|
|
|
set( CMAKE_EXE_LINKER_FLAGS "-Wl,-z,nocopyreloc" CACHE STRING "linker flags" ) |
|
|
|
|