2013-02-18 18:00:55 +04:00
# FreeRDP: A Remote Desktop Protocol Implementation
# Android Client
#
2013-12-04 14:37:57 +04:00
# Copyright 2013 Bernhard Miklautz <bernhard.miklautz@thincast.com>
2013-02-18 18:00:55 +04:00
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2013-11-08 15:44:28 +04:00
if ( NOT ANDROID_NDK )
message ( FATAL_ERROR "ANDROID_NDK not set but required for building android native library." )
endif ( )
2013-11-18 22:58:01 +04:00
set ( CMAKE_PROGRAM_PATH ${ ANDROID_NDK } )
find_program ( NDK_COMMAND ndk-build CMAKE_FIND_ROOT_PATH_BOTH )
2013-11-08 15:44:28 +04:00
2013-11-18 22:58:01 +04:00
if ( NDK_COMMAND STREQUAL "NDK_COMMAND-NOTFOUND" )
2013-11-08 15:44:28 +04:00
message ( FATAL_ERROR "ndk-build not found but required to build native lib" )
endif ( )
2013-09-23 19:48:02 +04:00
2013-11-08 18:19:38 +04:00
set ( NDK_LIB_CFG "${CMAKE_CURRENT_BINARY_DIR}/FreeRDPCore/jni/Android.mk" )
2013-02-18 18:00:55 +04:00
if ( ANDROID_BUILD_JAVA )
if ( NOT ANDROID_SDK )
message ( FATAL_ERROR "ANDROID_SDK not set but required for building the java gui (ANDROID_BUILD_JAVA)" )
endif ( )
# And isn't shiped with the android ndk/sdk so
# we need to find it on the local machine
2013-11-18 22:58:01 +04:00
SET ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH )
2013-02-18 18:00:55 +04:00
find_program ( ANT_COMMAND ant )
2013-11-18 22:58:01 +04:00
SET ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
2013-02-18 18:00:55 +04:00
if ( ANT_COMMAND STREQUAL "ANT_COMMAND-NOTFOUND" )
message ( FATAL_ERROR "ant not found but required to build android java" )
endif ( )
endif ( ANDROID_BUILD_JAVA )
2014-06-23 15:27:39 +04:00
set ( ANDROID_COMMAND "${ANDROID_SDK}/tools/android" )
if ( NOT EXISTS ${ ANDROID_COMMAND } )
2014-06-23 14:58:59 +04:00
message ( FATAL_ERROR "android not found but required to build android java" )
endif ( )
2013-11-08 15:44:28 +04:00
if ( ANDROID_BUILD_JAVA_DEBUG )
set ( ANDROID_BUILD_TYPE "debug" )
else ( )
set ( ANDROID_BUILD_TYPE "release" )
endif ( )
2013-09-23 14:39:41 +04:00
if ( "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" )
set ( ANDROID_DEBUG_ENABLE "true" )
2013-11-08 15:44:28 +04:00
set ( NDK_DEBUG "1" )
2013-09-23 14:39:41 +04:00
else ( )
set ( ANDROID_DEBUG_ENABLE "false" )
2013-11-08 15:44:28 +04:00
set ( NDK_DEBUG "0" )
2013-09-23 14:39:41 +04:00
endif ( )
2014-06-23 15:29:38 +04:00
set ( APPCOMPAT_DIR "${CMAKE_CURRENT_BINARY_DIR}/appcompat_v7" )
2014-07-13 22:54:48 +04:00
set ( supportdir "${ANDROID_SDK}/extras/android/support/v7/appcompat" )
set ( compatibilitydir "${ANDROID_SDK}/extras/android/compatibility/v7/appcompat" )
if ( EXISTS "${supportdir}" AND IS_DIRECTORY "${supportdir}" )
add_custom_target ( copy_appcompat ALL
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y " $ { s u p p o r t d i r } " $ { A P P C O M P A T _ D I R }
2014-11-15 02:41:19 +03:00
C O M M A N D $ { A N D R O I D _ C O M M A N D } u p d a t e l i b - p r o j e c t - p $ { A P P C O M P A T _ D I R } - t a n d r o i d - $ { A N D R O I D _ A P P _ T A R G E T _ S D K }
2014-07-13 22:54:48 +04:00
)
elseif ( EXISTS "${compatibilitydir}" AND IS_DIRECTORY "${compatibilitydir}" )
add_custom_target ( copy_appcompat ALL
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y " $ { c o m p a t i b i l i t y d i r } " $ { A P P C O M P A T _ D I R }
2014-11-15 02:41:19 +03:00
C O M M A N D $ { A N D R O I D _ C O M M A N D } u p d a t e l i b - p r o j e c t - p $ { A P P C O M P A T _ D I R } - t a n d r o i d - $ { A N D R O I D _ A P P _ T A R G E T _ S D K }
2014-07-13 22:54:48 +04:00
)
2014-07-14 16:53:20 +04:00
else ( )
message ( FATAL_ERROR "${ANDROID_SDK}/extras/android/{support|compatibility}/v7/appcompat directory not found. Please install a recent version of Android Support Library, CMake will now exit." )
2014-07-13 22:54:48 +04:00
endif ( )
2014-06-23 15:29:38 +04:00
2013-02-18 18:00:55 +04:00
add_subdirectory ( FreeRDPCore )
add_subdirectory ( aFreeRDP )