project_files/Android-build/CMakeLists.txt
author Xeli
Thu, 14 Jul 2011 16:03:29 +0200
branchhedgeroid
changeset 5442 7c1e5a5f7f34
parent 5408 1c2f0dfbe759
child 5446 68f261c94a86
permissions -rw-r--r--
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal

###################################################################################
# Uncomment (remove the leading '#') and change the paths accordingly to your own 
# build environment, please do specify an absolute path (/home/richard/SoftDev    
# rather than ~/SoftDev).
# You only need to change the three lines below, after that you can run 'cmake .'
# from the hedgewars root directory
# 
# optionally you can specify SDL_DIR this will move the required SDL libraries to
# the correct place
##################################################################################

set(ANDROID_NDK /home/richard/SoftDev/android/android-ndk-r5b)
set(ANDROID_SDK /home/richard/SoftDev/android/android-sdk-linux_86)
set(FPC_DIR /home/richard/SoftDev/fpc-2.4.4)
set(SDL_DIR /home/richard/Downloads/android-project)

if(ANDROID_NDK AND ANDROID_SDK AND FPC_DIR)

set(ANDROID_SDK_API_LVL 8)
set(ANDROID_NDK_API_LVL 5)

MESSAGE("Creating android scripts and configuration files")

configure_file(Templates/complete_build.sh .)
configure_file(Templates/default.properties SDL-android-project/)
configure_file(Templates/local.properties SDL-android-project/)
configure_file(Templates/Makefile.android .)
configure_file(Templates/pushToDevice.sh .)

if(SDL_DIR)

    MESSAGE("Moving Android port of SDL to the proper directories")

    set(DirsToCopy
        SDL
	SDL_image
	SDL_mixer
	SDL_ttf
	jpeg
	png
	mikmod
	tremor
	freetype
    )
    foreach(DIR ${DirsToCopy})
        EXECUTE_PROCESS( 
	    COMMAND ${CMAKE_COMMAND} 
	    -E copy_directory 
	    ${SDL_DIR}/jni/${DIR}
	    ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/${DIR}
	)
    endforeach(DIR)
    exec_program(${HGCOMMAND}
		ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/core/android/SDL_android.cpp
		)
    exec_program(${HGCOMMAND}
		ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/main/android/SDL_android_main.cpp
		)
else(SDL_DIR)
   MESSAGE("Android port of SDL not moved..")
endif(SDL_DIR)

else(ANDROID_AND AND ANDROID_SDK AND FPC_DIR)
    MESSAGE("Android port files not created, edit top of ${CMAKE_CURRENT_SOURCE_DIR}/CMakeList.txt to created android specific files")
endif(ANDROID_NDK AND ANDROID_SDK AND FPC_DIR)