Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
c7bdf83d
Commit
c7bdf83d
authored
Jun 03, 2011
by
Andrey Kamaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed Android build
parent
03c77841
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
45 additions
and
37 deletions
+45
-37
CMakeLists.txt
CMakeLists.txt
+3
-14
OpenCVModule.cmake
OpenCVModule.cmake
+20
-14
CMakeCache.android.initial.cmake
android/CMakeCache.android.initial.cmake
+3
-0
android.toolchain.cmake
android/android.toolchain.cmake
+8
-2
wincfg.cmd.tmpl
android/scripts/wincfg.cmd.tmpl
+2
-2
CMakeLists.txt
modules/highgui/CMakeLists.txt
+9
-5
No files found.
CMakeLists.txt
View file @
c7bdf83d
...
...
@@ -245,11 +245,6 @@ endif()
if
(
CMAKE_COMPILER_IS_GNUCXX
)
set
(
ENABLE_PROFILING OFF CACHE BOOL
"Enable profiling in the GCC compiler (Add flags: -g -pg)"
)
set
(
USE_OMIT_FRAME_POINTER ON CACHE BOOL
"Enable -fomit-frame-pointer for GCC"
)
if
(
${
CMAKE_SYSTEM_PROCESSOR
}
MATCHES arm*
)
# We can use only -O2 because the -O3 causes gcc crash
set
(
USE_O2 ON CACHE BOOL
"Enable -O2 for GCC"
)
set
(
USE_FAST_MATH ON CACHE BOOL
"Enable -ffast-math for GCC"
)
endif
()
if
(
${
CMAKE_SYSTEM_PROCESSOR
}
MATCHES amd64*|x86_64*
)
set
(
X86_64 1
)
...
...
@@ -257,7 +252,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
if
(
${
CMAKE_SYSTEM_PROCESSOR
}
MATCHES i686*|i386*|x86*
)
set
(
X86 1
)
endif
()
endif
()
if
(
${
CMAKE_SYSTEM_PROCESSOR
}
MATCHES powerpc*
)
set
(
USE_O3 ON CACHE BOOL
"Enable -O3 for GCC"
)
...
...
@@ -1148,14 +1143,8 @@ set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"${CMAKE_CURRENT_SOURCE_DIR}\"")
set
(
CMAKE_LIB_DIRS_CONFIGCMAKE
"
${
LIBRARY_OUTPUT_PATH
}
"
)
if
(
ANDROID
)
if
(
NOT BUILD_SHARED_LIBS
)
set
(
CMAKE_LIB_DIRS_CONFIGCMAKE
${
CMAKE_LIB_DIRS_CONFIGCMAKE
}
"
${
CMAKE_BINARY_DIR
}
/lib"
)
endif
()
if
(
HAVE_ANDROID_NATIVE_CAMERA
)
set
(
CMAKE_LIB_DIRS_CONFIGCMAKE
${
CMAKE_LIB_DIRS_CONFIGCMAKE
}
${
NativeCamera_LIB_DIR
}
)
endif
()
if
(
HAVE_ANDROID_NATIVE_CAMERA
)
set
(
CMAKE_LIB_DIRS_CONFIGCMAKE
${
CMAKE_LIB_DIRS_CONFIGCMAKE
}
${
NativeCamera_LIB_DIR
}
)
endif
()
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/OpenCVConfig.cmake.in"
"
${
CMAKE_BINARY_DIR
}
/OpenCVConfig.cmake"
IMMEDIATE @ONLY
)
...
...
OpenCVModule.cmake
View file @
c7bdf83d
...
...
@@ -32,21 +32,27 @@ macro(define_opencv_module name)
add_library
(
${
the_target
}
${
lib_srcs
}
${
lib_hdrs
}
${
lib_int_hdrs
}
)
# For dynamic link numbering convenions
set_target_properties
(
${
the_target
}
PROPERTIES
VERSION
${
OPENCV_VERSION
}
SOVERSION
${
OPENCV_SOVERSION
}
OUTPUT_NAME
"
${
the_target
}${
OPENCV_DLLVERSION
}
"
)
if
(
ENABLE_SOLUTION_FOLDERS
)
set_target_properties
(
${
the_target
}
PROPERTIES FOLDER
"modules"
)
endif
()
if
(
NOT ANDROID
)
# Android SDK build scripts can include only .so files into final .apk
# As result we should not set version properties for Android
set_target_properties
(
${
the_target
}
PROPERTIES
VERSION
${
OPENCV_VERSION
}
SOVERSION
${
OPENCV_SOVERSION
}
)
endif
()
set_target_properties
(
${
the_target
}
PROPERTIES OUTPUT_NAME
"
${
the_target
}${
OPENCV_DLLVERSION
}
"
)
if
(
ENABLE_SOLUTION_FOLDERS
)
set_target_properties
(
${
the_target
}
PROPERTIES FOLDER
"modules"
)
endif
()
if
(
BUILD_SHARED_LIBS
)
if
(
MSVC
)
set_target_properties
(
${
the_target
}
PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS
)
else
()
add_definitions
(
-DCVAPI_EXPORTS
)
endif
()
if
(
BUILD_SHARED_LIBS
)
if
(
MSVC
)
set_target_properties
(
${
the_target
}
PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS
)
else
()
add_definitions
(
-DCVAPI_EXPORTS
)
endif
()
endif
()
# Additional target properties
...
...
android/CMakeCache.android.initial.cmake
View file @
c7bdf83d
...
...
@@ -105,3 +105,6 @@ SET( ENABLE_SSE42 OFF CACHE INTERNAL "" FORCE )
#Enable SSSE3 instructions
SET
(
ENABLE_SSSE3 OFF CACHE INTERNAL
""
FORCE
)
#Set output folder to "libs" instead of "lib" for better compatibility with java projects
SET
(
LIBRARY_OUTPUT_PATH
${
CMAKE_BINARY_DIR
}
/libs CACHE PATH
"path for android libs"
)
android/android.toolchain.cmake
View file @
c7bdf83d
...
...
@@ -227,6 +227,7 @@ if( ARM_TARGET STREQUAL "armeabi" )
set
(
ARMEABI true
)
set
(
ARMEABI_NDK_NAME
"armeabi"
)
set
(
NEON false
)
set
(
CMAKE_SYSTEM_PROCESSOR
"armv5te"
)
else
()
if
(
ARM_TARGET STREQUAL
"armeabi-v7a with NEON"
)
set
(
NEON true
)
...
...
@@ -240,6 +241,7 @@ Supported values are: \"armeabi\", \"armeabi-v7a\", \"armeabi-v7a with NEON\", \
endif
()
set
(
ARMEABI_V7A true
)
set
(
ARMEABI_NDK_NAME
"armeabi-v7a"
)
set
(
CMAKE_SYSTEM_PROCESSOR
"armv7-a"
)
endif
()
#setup output directories
...
...
@@ -248,8 +250,12 @@ set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_SOURCE_DIR} CACHE PATH "root for library o
SET
(
DO_NOT_CHANGE_OUTPUT_PATHS_ON_FIRST_PASS OFF CACHE BOOL
""
)
if
(
DO_NOT_CHANGE_OUTPUT_PATHS_ON_FIRST_PASS
)
#some cmake standard modules work incorrectly if output paths are changed
set
(
LIBRARY_OUTPUT_PATH
${
LIBRARY_OUTPUT_PATH_ROOT
}
/libs/
${
ARMEABI_NDK_NAME
}
CACHE PATH
"path for android libs"
FORCE
)
set
(
EXECUTABLE_OUTPUT_PATH
${
LIBRARY_OUTPUT_PATH_ROOT
}
/bin/
${
ARMEABI_NDK_NAME
}
CACHE PATH
"Output directory for applications"
FORCE
)
if
(
EXISTS
${
CMAKE_SOURCE_DIR
}
/jni/CMakeLists.txt
)
# these paths are required for jni part of Android projects
# but they may conflict with traditional unix makefile's folder structure
set
(
LIBRARY_OUTPUT_PATH
${
LIBRARY_OUTPUT_PATH_ROOT
}
/libs/
${
ARMEABI_NDK_NAME
}
CACHE PATH
"path for android libs"
FORCE
)
set
(
EXECUTABLE_OUTPUT_PATH
${
LIBRARY_OUTPUT_PATH_ROOT
}
/bin/
${
ARMEABI_NDK_NAME
}
CACHE PATH
"Output directory for applications"
FORCE
)
endif
()
set
(
CMAKE_INSTALL_PREFIX
${
ANDROID_NDK_TOOLCHAIN_ROOT
}
/user/
${
ARMEABI_NDK_NAME
}
CACHE STRING
"path for installing"
FORCE
)
endif
()
SET
(
DO_NOT_CHANGE_OUTPUT_PATHS_ON_FIRST_PASS ON CACHE INTERNAL
""
FORCE
)
...
...
android/scripts/wincfg.cmd.tmpl
View file @
c7bdf83d
:: variables required for OpenCV build ::
:: Note: all pathes should be specified without tailing slashes!
SET ANDROID_NDK=C:\full\path\to\your\copy\of\android\NDK\android-ndk-r5b
SET CMAKE_EXE=C:\full\path\to\cmake\utility\cmake.exe
SET MAKE_EXE=C:\full\path\to\native\port\of\make\utility\make.exe
...
...
@@ -23,4 +24,4 @@ SET BUILD_DIR=build
::SET BUILD_DIR=build_neon
:::: other options
::SET ANDROID_API_LEVEL=8 &:: android-3 is enough for OpenCV but android-8 is recommended
\ No newline at end of file
::SET ANDROID_API_LEVEL=8 &:: android-3 is enough for OpenCV but android-8 is recommended
modules/highgui/CMakeLists.txt
View file @
c7bdf83d
...
...
@@ -273,11 +273,15 @@ if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS)
endif
()
# For dynamic link numbering convenions
set_target_properties
(
${
the_target
}
PROPERTIES
VERSION
${
OPENCV_VERSION
}
SOVERSION
${
OPENCV_SOVERSION
}
OUTPUT_NAME
"
${
the_target
}${
OPENCV_DLLVERSION
}
"
)
if
(
NOT ANDROID
)
# Android SDK build scripts can include only .so files into final .apk
set_target_properties
(
${
the_target
}
PROPERTIES
VERSION
${
OPENCV_VERSION
}
SOVERSION
${
OPENCV_SOVERSION
}
)
endif
()
set_target_properties
(
${
the_target
}
PROPERTIES OUTPUT_NAME
"
${
the_target
}${
OPENCV_DLLVERSION
}
"
)
# Additional target properties
set_target_properties
(
${
the_target
}
PROPERTIES
...
...
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