Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
linphone-cmake-builder
Commits
b73209d6
Commit
b73209d6
authored
May 03, 2016
by
Ghislain MARY
Browse files
Add support for Android NDK 11.
parent
2492823c
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
177 additions
and
44 deletions
+177
-44
builders/CMakeLists.txt
builders/CMakeLists.txt
+3
-0
builders/androidcpufeatures.cmake
builders/androidcpufeatures.cmake
+23
-0
builders/ffmpeg.cmake
builders/ffmpeg.cmake
+5
-0
builders/ms2.cmake
builders/ms2.cmake
+3
-0
builders/opus/CMakeLists.txt
builders/opus/CMakeLists.txt
+5
-1
builders/vpx.cmake
builders/vpx.cmake
+6
-2
toolchains/android/toolchain-android.cmake
toolchains/android/toolchain-android.cmake
+110
-37
toolchains/toolchain-android-arm.cmake
toolchains/toolchain-android-arm.cmake
+7
-1
toolchains/toolchain-android-armv7.cmake
toolchains/toolchain-android-armv7.cmake
+7
-1
toolchains/toolchain-android-x86.cmake
toolchains/toolchain-android-x86.cmake
+8
-2
No files found.
builders/CMakeLists.txt
View file @
b73209d6
...
...
@@ -117,6 +117,9 @@ else()
add_custom_target
(
TARGET_ms2 ALL
)
add_dependencies
(
TARGET_linphone_builder TARGET_ms2
)
add_dependencies
(
TARGET_ms2 TARGET_ortp TARGET_bctoolbox
)
if
(
ANDROID
)
linphone_builder_add_builder_to_target
(
TARGET_ms2 androidcpufeatures
)
endif
()
if
(
LINPHONE_BUILDER_BUILD_DEPENDENCIES
)
linphone_builder_add_builder_to_target
(
TARGET_ms2 speex
)
if
(
ENABLE_GSM
)
...
...
builders/androidcpufeatures.cmake
0 → 100644
View file @
b73209d6
############################################################################
# androidcpufeatures.cmake
# Copyright (C) 2016 Belledonne Communications, Grenoble France
#
############################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
############################################################################
set
(
EP_androidcpufeatures_EXTERNAL_SOURCE_PATHS
"externals/build/cpufeatures"
)
builders/ffmpeg.cmake
View file @
b73209d6
...
...
@@ -48,6 +48,7 @@ else()
set
(
EP_ffmpeg_IGNORE_WARNINGS TRUE
)
set
(
EP_ffmpeg_BUILD_METHOD
"autotools"
)
set
(
EP_ffmpeg_CONFIGURE_OPTIONS
"--disable-doc"
"--disable-zlib"
"--disable-bzlib"
"--disable-ffplay"
...
...
@@ -139,6 +140,10 @@ else()
else
()
list
(
APPEND EP_ffmpeg_CONFIGURE_OPTIONS
"--disable-mmx"
"--disable-sse2"
"--disable-ssse3"
)
endif
()
if
(
CMAKE_C_COMPILER_TARGET
)
# When building with clang
list
(
APPEND EP_ffmpeg_CONFIGURE_OPTIONS
"--extra-cflags=--target=
${
CMAKE_C_COMPILER_TARGET
}
--gcc-toolchain=
${
EXTERNAL_TOOLCHAIN_PATH
}
/.."
)
list
(
APPEND EP_ffmpeg_CONFIGURE_OPTIONS
"--extra-ldflags=--target=
${
CMAKE_C_COMPILER_TARGET
}
--gcc-toolchain=
${
EXTERNAL_TOOLCHAIN_PATH
}
/.."
)
endif
()
else
()
set
(
EP_ffmpeg_TARGET_OS
"linux"
)
list
(
APPEND EP_ffmpeg_CONFIGURE_OPTIONS
"--enable-runtime-cpudetect"
)
...
...
builders/ms2.cmake
View file @
b73209d6
...
...
@@ -28,6 +28,9 @@ set(EP_ms2_GROUPABLE YES)
set
(
EP_ms2_LINKING_TYPE
${
DEFAULT_VALUE_CMAKE_LINKING_TYPE
}
)
set
(
EP_ms2_DEPENDENCIES EP_ortp EP_bctoolbox
)
if
(
ANDROID
)
list
(
APPEND EP_ms2_DEPENDENCIES EP_androidcpufeatures
)
endif
()
if
(
MSVC
)
set
(
EP_ms2_EXTRA_LDFLAGS
"/SAFESEH:NO"
)
endif
()
...
...
builders/opus/CMakeLists.txt
View file @
b73209d6
...
...
@@ -68,7 +68,11 @@ if(ENABLE_ASM)
endif
()
get_directory_property
(
DIRECTORY_PROPERTY_COMPILE_OPTIONS
"COMPILE_OPTIONS"
)
string
(
REPLACE
";"
" "
DIRECTORY_PROPERTY_COMPILE_OPTIONS
"
${
DIRECTORY_PROPERTY_COMPILE_OPTIONS
}
"
)
set
(
CMAKE_ASM_COMPILE_OBJECT
"<CMAKE_ASM_COMPILER>
${
CMAKE_CPP_FLAGS
}
${
CMAKE_C_FLAGS
}
${
DIRECTORY_PROPERTY_COMPILE_OPTIONS
}
${
ARCH_OPTIONS
}
-o <OBJECT> -c <SOURCE>"
)
set
(
CMAKE_ASM_TARGET_FLAG
""
)
if
(
CMAKE_C_COMPILER_TARGET
)
set
(
CMAKE_ASM_TARGET_FLAG
"--target=
${
CMAKE_C_COMPILER_TARGET
}
"
)
endif
()
set
(
CMAKE_ASM_COMPILE_OBJECT
"<CMAKE_ASM_COMPILER>
${
CMAKE_ASM_TARGET_FLAG
}
${
CMAKE_CPP_FLAGS
}
${
CMAKE_C_FLAGS
}
${
DIRECTORY_PROPERTY_COMPILE_OPTIONS
}
${
ARCH_OPTIONS
}
-o <OBJECT> -c <SOURCE>"
)
enable_language
(
ASM
)
string
(
TOLOWER
${
CMAKE_SYSTEM_PROCESSOR
}
SYSTEM_PROCESSOR
)
#No optimization available yet for arm64
...
...
builders/vpx.cmake
View file @
b73209d6
...
...
@@ -125,8 +125,12 @@ else()
set
(
EP_vpx_TARGET
"x86-android-gcc"
)
set
(
EP_vpx_EXTRA_ASFLAGS
"-D__ANDROID__"
)
endif
()
set
(
EP_vpx_EXTRA_CFLAGS
"--sysroot=
${
CMAKE_SYSROOT
}
"
)
set
(
EP_vpx_EXTRA_LDFLAGS
"--sysroot=
${
CMAKE_SYSROOT
}
"
)
if
(
CMAKE_C_COMPILER_TARGET
)
# When building with clang
set
(
EP_vpx_EXTRA_CFLAGS
"
${
EP_vpx_EXTRA_CFLAGS
}
--target=
${
CMAKE_C_COMPILER_TARGET
}
"
)
set
(
EP_vpx_EXTRA_LDFLAGS
"
${
EP_vpx_EXTRA_LDFLAGS
}
--target=
${
CMAKE_C_COMPILER_TARGET
}
-L
${
GCC_LIBRARY_PATH
}
"
)
endif
()
set
(
EP_vpx_EXTRA_CFLAGS
"
${
EP_vpx_EXTRA_CFLAGS
}
--sysroot=
${
CMAKE_SYSROOT
}
"
)
set
(
EP_vpx_EXTRA_LDFLAGS
"
${
EP_vpx_EXTRA_LDFLAGS
}
--sysroot=
${
CMAKE_SYSROOT
}
"
)
list
(
APPEND EP_vpx_CONFIGURE_OPTIONS
"--sdk-path=
${
ANDROID_NDK_PATH
}
"
"--enable-pic"
...
...
toolchains/android/toolchain-android.cmake
View file @
b73209d6
...
...
@@ -23,6 +23,15 @@
set
(
CMAKE_ANDROID_API 14
)
set
(
CMAKE_ANDROID_STL_TYPE gnustl_static
)
include
(
CMakeForceCompiler
)
set
(
CMAKE_CROSSCOMPILING TRUE
)
set
(
CMAKE_POSITION_INDEPENDENT_CODE YES
)
# Define name of the target system
set
(
CMAKE_SYSTEM_NAME
"Linux"
)
set
(
ANDROID True
)
find_path
(
ANDROID_NDK_PATH ndk-build
)
if
(
NOT ANDROID_NDK_PATH
)
message
(
FATAL_ERROR
"Cannot find 'ndk-build', make sure you installed the NDK and added it to your PATH"
)
...
...
@@ -38,47 +47,97 @@ if(NOT ANDROID_SDK_PLATFORM_TOOLS_PATH)
message
(
FATAL_ERROR
"Cannot find 'adb', make sure you installed the SDK platform tools and added it to your PATH"
)
endif
()
find_file
(
GCC_EXECUTABLE
NAMES
"
${
COMPILER_PREFIX
}
-gcc"
find_file
(
CLANG_EXECUTABLE
"clang"
PATHS
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-4.8/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-4.8/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-4.8/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-4.8/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-4.8/prebuilt/linux-x86/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-4.8/prebuilt/linux-x86/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/llvm/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/llvm/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/llvm/prebuilt/linux-x86/bin"
NO_DEFAULT_PATH
)
if
(
NOT GCC_EXECUTABLE
)
message
(
FATAL_ERROR
"Cannot find the compiler"
)
endif
()
get_filename_component
(
ANDROID_TOOLCHAIN_PATH
"
${
GCC_EXECUTABLE
}
"
DIRECTORY
)
if
(
CLANG_EXECUTABLE
)
set
(
CMAKE_SYSROOT
"
${
ANDROID_NDK_PATH
}
/platforms/android-
${
CMAKE_ANDROID_API
}
/arch-
${
ARCHITECTURE
}
"
)
get_filename_component
(
ANDROID_TOOLCHAIN_PATH
"
${
CLANG_EXECUTABLE
}
"
DIRECTORY
)
set
(
GCC_VERSION
"4.9"
)
if
(
CMAKE_SYSTEM_PROCESSOR STREQUAL
"armeabi-v7a"
)
set
(
GCC_LIBRARY_ADDITIONAL_DIR
"/armv7-a"
)
endif
()
message
(
STATUS
"Using sysroot path:
${
CMAKE_SYSROOT
}
"
)
find_file
(
GCC_LIBRARY
"libgcc.a"
PATHS
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}${
GCC_LIBRARY_ADDITIONAL_DIR
}
"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}
"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}${
GCC_LIBRARY_ADDITIONAL_DIR
}
"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}
"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}${
GCC_LIBRARY_ADDITIONAL_DIR
}
"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/lib/gcc/
${
COMPILER_PREFIX
}
/
${
GCC_VERSION
}
"
NO_DEFAULT_PATH
)
if
(
NOT GCC_LIBRARY
)
message
(
FATAL_ERROR
"Cannot find libgcc.a"
)
endif
()
get_filename_component
(
GCC_LIBRARY_PATH
"
${
GCC_LIBRARY
}
"
DIRECTORY
)
set
(
ANDROID_TOOLCHAIN_PREFIX
"
${
ANDROID_TOOLCHAIN_PATH
}
/
${
COMPILER_PREFIX
}
-"
)
set
(
ANDROID_TOOLCHAIN_CC
"
${
ANDROID_TOOLCHAIN_PREFIX
}
gcc"
)
set
(
ANDROID_TOOLCHAIN_CXX
"
${
ANDROID_TOOLCHAIN_PREFIX
}
g++"
)
set
(
ANDROID_TOOLCHAIN_LD
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ld"
)
set
(
ANDROID_TOOLCHAIN_AR
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ar"
)
set
(
ANDROID_TOOLCHAIN_RANLIB
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ranlib"
)
set
(
ANDROID_TOOLCHAIN_STRIP
"
${
ANDROID_TOOLCHAIN_PREFIX
}
strip"
)
set
(
ANDROID_TOOLCHAIN_NM
"
${
ANDROID_TOOLCHAIN_PREFIX
}
nm"
)
find_file
(
GCC_EXECUTABLE
"
${
COMPILER_PREFIX
}
-gcc"
PATHS
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/bin"
NO_DEFAULT_PATH
)
if
(
NOT GCC_EXECUTABLE
)
message
(
FATAL_ERROR
"Cannot find gcc"
)
endif
()
get_filename_component
(
EXTERNAL_TOOLCHAIN_PATH
"
${
GCC_EXECUTABLE
}
"
DIRECTORY
)
include
(
CMakeForceCompiler
)
#Define the compiler
set
(
_CMAKE_TOOLCHAIN_PREFIX
"
${
COMPILER_PREFIX
}
-"
)
set
(
CMAKE_C_COMPILER
"
${
CLANG_EXECUTABLE
}
"
)
set
(
CMAKE_C_COMPILER_TARGET
"
${
CLANG_TARGET
}
"
)
set
(
CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN
"
${
EXTERNAL_TOOLCHAIN_PATH
}
/.."
)
set
(
CMAKE_CXX_COMPILER
"
${
CLANG_EXECUTABLE
}
++"
)
set
(
CMAKE_CXX_COMPILER_TARGET
"
${
CLANG_TARGET
}
"
)
set
(
CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN
"
${
EXTERNAL_TOOLCHAIN_PATH
}
/.."
)
set
(
CMAKE_CROSSCOMPILING TRUE
)
set
(
CMAKE_POSITION_INDEPENDENT_CODE YES
)
else
()
# Define name of the target system
set
(
CMAKE_SYSTEM_NAME
"Linux"
)
set
(
ANDROID True
)
set
(
GCC_VERSION
"4.8"
)
find_file
(
GCC_EXECUTABLE
"
${
COMPILER_PREFIX
}
-gcc"
PATHS
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/darwin-x86_64/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
COMPILER_PREFIX
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/bin"
"
${
ANDROID_NDK_PATH
}
/toolchains/
${
CMAKE_SYSTEM_PROCESSOR
}
-
${
GCC_VERSION
}
/prebuilt/linux-x86/bin"
NO_DEFAULT_PATH
)
if
(
NOT GCC_EXECUTABLE
)
message
(
FATAL_ERROR
"Cannot find the compiler"
)
endif
()
get_filename_component
(
ANDROID_TOOLCHAIN_PATH
"
${
GCC_EXECUTABLE
}
"
DIRECTORY
)
set
(
ANDROID_TOOLCHAIN_PREFIX
"
${
ANDROID_TOOLCHAIN_PATH
}
/
${
COMPILER_PREFIX
}
-"
)
set
(
ANDROID_TOOLCHAIN_CC
"
${
ANDROID_TOOLCHAIN_PREFIX
}
gcc"
)
set
(
ANDROID_TOOLCHAIN_CXX
"
${
ANDROID_TOOLCHAIN_PREFIX
}
g++"
)
set
(
ANDROID_TOOLCHAIN_LD
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ld"
)
set
(
ANDROID_TOOLCHAIN_AR
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ar"
)
set
(
ANDROID_TOOLCHAIN_RANLIB
"
${
ANDROID_TOOLCHAIN_PREFIX
}
ranlib"
)
set
(
ANDROID_TOOLCHAIN_STRIP
"
${
ANDROID_TOOLCHAIN_PREFIX
}
strip"
)
set
(
ANDROID_TOOLCHAIN_NM
"
${
ANDROID_TOOLCHAIN_PREFIX
}
nm"
)
# Define the compiler
CMAKE_FORCE_C_COMPILER
(
"
${
ANDROID_TOOLCHAIN_CC
}
"
GNU
)
CMAKE_FORCE_CXX_COMPILER
(
"
${
ANDROID_TOOLCHAIN_CXX
}
"
GNU
)
# Define the compiler
CMAKE_FORCE_C_COMPILER
(
"
${
ANDROID_TOOLCHAIN_CC
}
"
GNU
)
CMAKE_FORCE_CXX_COMPILER
(
"
${
ANDROID_TOOLCHAIN_CXX
}
"
GNU
)
endif
()
set
(
CMAKE_SYSROOT
"
${
ANDROID_NDK_PATH
}
/platforms/android-
${
CMAKE_ANDROID_API
}
/arch-
${
ARCHITECTURE
}
"
)
message
(
STATUS
"Using sysroot path:
${
CMAKE_SYSROOT
}
"
)
set
(
CMAKE_FIND_ROOT_PATH
"
${
CMAKE_SYSROOT
}
"
"
${
CMAKE_INSTALL_PREFIX
}
"
)
...
...
@@ -89,9 +148,23 @@ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set
(
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY
)
set
(
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY
)
set
(
ANDROID_STL_INCLUDE_DIRS
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/4.8/include"
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/4.8/libs/
${
CMAKE_SYSTEM_PROCESSOR
}
/include"
)
set
(
ANDROID_MACHINE_INCLUDE_DIRS
"
${
ANDROID_NDK_PATH
}
/sources/cpufeatures"
)
include_directories
(
SYSTEM
${
ANDROID_MACHINE_INCLUDE_DIRS
}
${
ANDROID_STL_INCLUDE_DIRS
}
)
link_libraries
(
"
${
ANDROID_NDK_PATH
}
/sources/android/libportable/libs/
${
CMAKE_SYSTEM_PROCESSOR
}
/libportable.a"
)
link_libraries
(
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/4.8/libs/
${
CMAKE_SYSTEM_PROCESSOR
}
/libgnustl_static.a"
)
set
(
ANDROID_STL_INCLUDE_DIRS
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/
${
GCC_VERSION
}
/include"
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/
${
GCC_VERSION
}
/libs/
${
CMAKE_SYSTEM_PROCESSOR
}
/include"
)
if
(
EXISTS
"
${
ANDROID_NDK_PATH
}
/sources/android/cpufeatures/cpu-features.c"
)
set
(
ANDROID_CPU_FEATURES_INCLUDE_DIRS
"
${
ANDROID_NDK_PATH
}
/sources/android/cpufeatures"
)
elseif
(
EXISTS
"
${
ANDROID_NDK_PATH
}
/sources/cpufeatures/cpu-features.c"
)
set
(
ANDROID_CPU_FEATURES_INCLUDE_DIRS
"
${
ANDROID_NDK_PATH
}
/sources/cpufeatures"
)
else
()
message
(
FATAL_ERROR
"Cannot find cpu-features.c"
)
endif
()
include_directories
(
SYSTEM
${
ANDROID_CPU_FEATURES_INCLUDE_DIRS
}
${
ANDROID_STL_INCLUDE_DIRS
}
)
if
(
GCC_LIBRARY_PATH
)
#link_directories("${GCC_LIBRARY_PATH}")
# link_directories has no effet for external projects so add the GCC library path to the compiler flags
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L${GCC_LIBRARY_PATH}")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${GCC_LIBRARY_PATH}")
set
(
CMAKE_EXE_LINKER_FLAGS
"-L
${
GCC_LIBRARY_PATH
}
"
CACHE STRING
"linker flags"
FORCE
)
set
(
CMAKE_MODULE_LINKER_FLAGS
"-L
${
GCC_LIBRARY_PATH
}
"
CACHE STRING
"linker flags"
FORCE
)
set
(
CMAKE_SHARED_LINKER_FLAGS
"-L
${
GCC_LIBRARY_PATH
}
"
CACHE STRING
"linker flags"
FORCE
)
endif
()
link_libraries
(
"
${
ANDROID_NDK_PATH
}
/sources/cxx-stl/gnu-libstdc++/
${
GCC_VERSION
}
/libs/
${
CMAKE_SYSTEM_PROCESSOR
}
/libgnustl_static.a"
)
link_libraries
(
"log"
)
toolchains/toolchain-android-arm.cmake
View file @
b73209d6
...
...
@@ -24,6 +24,7 @@ set(CMAKE_SYSTEM_PROCESSOR "armeabi")
set
(
ARCHITECTURE
"arm"
)
set
(
NDK_ARCHITECTURE
"armeabi"
)
set
(
COMPILER_PREFIX
"arm-linux-androideabi"
)
set
(
CLANG_TARGET
"arm-none-linux-androideabi"
)
include
(
"
${
CMAKE_CURRENT_LIST_DIR
}
/android/toolchain-android.cmake"
)
add_compile_options
(
...
...
@@ -36,9 +37,14 @@ add_compile_options(
"-msoft-float"
"-fomit-frame-pointer"
"-fno-strict-aliasing"
"-finline-limit=64"
)
if
(
NOT CLANG_EXECUTABLE
)
add_compile_options
(
"-finline-limit=64"
)
endif
()
link_libraries
(
"-no-canonical-prefixes"
"-Wl,--no-undefined"
...
...
toolchains/toolchain-android-armv7.cmake
View file @
b73209d6
...
...
@@ -24,6 +24,7 @@ set(CMAKE_SYSTEM_PROCESSOR "armeabi-v7a")
set
(
ARCHITECTURE
"arm"
)
set
(
NDK_ARCHITECTURE
"armeabi-v7a"
)
set
(
COMPILER_PREFIX
"arm-linux-androideabi"
)
set
(
CLANG_TARGET
"armv7-none-linux-androideabi"
)
include
(
"
${
CMAKE_CURRENT_LIST_DIR
}
/android/toolchain-android.cmake"
)
add_compile_options
(
...
...
@@ -36,9 +37,14 @@ add_compile_options(
"-mfloat-abi=softfp"
"-fomit-frame-pointer"
"-fno-strict-aliasing"
"-finline-limit=64"
)
if
(
NOT CLANG_EXECUTABLE
)
add_compile_options
(
"-finline-limit=64"
)
endif
()
link_libraries
(
"-march=armv7-a"
"-Wl,--fix-cortex-a8"
...
...
toolchains/toolchain-android-x86.cmake
View file @
b73209d6
...
...
@@ -24,6 +24,7 @@ set(CMAKE_SYSTEM_PROCESSOR "x86")
set
(
ARCHITECTURE
"x86"
)
set
(
NDK_ARCHITECTURE
"x86"
)
set
(
COMPILER_PREFIX
"i686-linux-android"
)
set
(
CLANG_TARGET
"i686-none-linux-androideabi"
)
include
(
"
${
CMAKE_CURRENT_LIST_DIR
}
/android/toolchain-android.cmake"
)
add_compile_options
(
...
...
@@ -33,10 +34,15 @@ add_compile_options(
"-no-canonical-prefixes"
"-fomit-frame-pointer"
"-fstrict-aliasing"
"-funswitch-loops"
"-finline-limit=300"
)
if
(
NOT CLANG_EXECUTABLE
)
add_compile_options
(
"-funswitch-loops"
"-finline-limit=300"
)
endif
()
link_libraries
(
"-no-canonical-prefixes"
"-Wl,--no-undefined"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment