@ -94,6 +94,8 @@
# [ ~ ] d e f a u l t N D K p a t h i s u p d a t e d f o r v e r s i o n r 5 c
# [ + ] v a r i a b l e C M A K E _ S Y S T E M _ P R O C E S S O R i s s e t b a s e d o n A R M _ T A R G E T
# [ ~ ] t o o l c h a i n i n s t a l l d i r e c t o r y i s a d d e d t o l i n k e r p a t h s
# [ - ] r e m o v e d S W I G - r e l a t e d s t u f f f r o m t o o l c h a i n
# [ + ] a d d e d m a c r o f i n d _ h o s t _ p a c k a g e , f i n d _ h o s t _ p r o g r a m t o s e a r c h p a c k a g e s / p r o g r a m s o n h o s t s y s t e m
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# t h i s o n e i s i m p o r t a n t
@ -257,8 +259,8 @@ if( DO_NOT_CHANGE_OUTPUT_PATHS_ON_FIRST_PASS )
if ( EXISTS ${ CMAKE_SOURCE_DIR } /jni/CMakeLists.txt )
# t h e s e p a t h s a r e r e q u i r e d f o r j n i p a r t o f A n d r o i d p r o j e c t s
# b u t t h e y m a y c o n f l i c t w i t h t r a d i t i o n a l u n i x m a k e f i l e ' s f o l d e r s t r u c t u r e
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 )
set ( LIBRARY_OUTPUT_PATH ${ LIBRARY_OUTPUT_PATH_ROOT } /libs/ ${ ARMEABI_NDK_NAME } CACHE PATH "path for android libs" FORCE )
endif ( )
set ( CMAKE_INSTALL_PREFIX ${ ANDROID_NDK_TOOLCHAIN_ROOT } /user/ ${ ARMEABI_NDK_NAME } CACHE STRING "path for installing" FORCE )
endif ( )
@ -279,10 +281,8 @@ if( BUILD_WITH_ANDROID_NDK_TOOLCHAIN )
include_directories ( ${ ANDROID_NDK_TOOLCHAIN_ROOT } /arm-linux-androideabi/include/c++/4.4.3/arm-linux-androideabi )
endif ( )
# a l l o w p r o g r a m s l i k e s w i g t o b e f o u n d - - b u t c a n b e d e c e i v i n g f o r
# s y s t e m t o o l d e p e n d e n c i e s .
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
# o n l y s e a r c h f o r l i b r a r i e s a n d i n c l u d e s i n t h e n d k t o o l c h a i n
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
@ -340,28 +340,22 @@ set( CMAKE_EXE_LINKER_FLAGS "${LINKER_FLAGS}" CACHE STRING "linker flags" FORCE
set ( ANDROID True )
set ( BUILD_ANDROID True )
# S W I G j u n k . . .
set ( NO_SWIG OFF CACHE BOOL "Don't search for SWIG" )
if ( NOT NO_SWIG )
# n e e d t o s e a r c h i n t h e h o s t f o r s w i g t o b e f o u n d
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )
find_package ( SWIG QUIET )
# m a c r o t o f i n d p a c k a g e o n t h e h o s t O S
macro ( find_host_package )
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
find_package ( ${ ARGN } )
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
endmacro ( )
macro ( find_host_program )
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
find_program ( ${ ARGN } )
set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
if ( SWIG_FOUND )
set ( SWIG_USE_FILE ${ CMAKE_ROOT } /Modules/UseSWIG.cmake CACHE PATH "Use Swig cmake module" )
set ( SWIG_OUTPUT_ROOT ${ LIBRARY_OUTPUT_PATH_ROOT } /src CACHE PATH "Where swig generated files will be placed relative to, <SWIG_OUTPUT_ROOT>/com/mylib/foo/jni ..." FORCE )
# c o n v e n i e n c e m a c r o f o r s w i g j a v a p a c k a g e s
macro ( SET_SWIG_JAVA_PACKAGE package_name )
string ( REGEX REPLACE "[.]" "/" package_name_output ${ package_name } )
set ( CMAKE_SWIG_OUTDIR ${ SWIG_OUTPUT_ROOT } / ${ package_name_output } )
set ( CMAKE_SWIG_FLAGS "-package" "\" ${ package_name } \"" )
endmacro ( )
else ( )
message ( STATUS "SWIG is not found" )
set ( NO_SWIG ON CACHE BOOL "Don't search for SWIG" FORCE )
endif ( )
endif ( )