author | Xeli |
Wed, 15 Feb 2012 18:03:51 +0100 | |
changeset 6684 | 112a0eb8782b |
parent 6619 | 229b99faf580 |
child 6807 | f4816282ba01 |
permissions | -rw-r--r-- |
5621 | 1 |
################################################################################### |
2 |
# Hedgewars, a free turn based strategy game |
|
3 |
# Copyright (c) 2011 Richard Deurwaarder <xeli@xelification.com> |
|
4 |
# |
|
5 |
# This program is free software; you can redistribute it and/or modify |
|
6 |
# it under the terms of the GNU General Public License as published by |
|
7 |
# the Free Software Foundation; version 2 of the License |
|
8 |
# |
|
9 |
# This program is distributed in the hope that it will be useful, |
|
10 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
# GNU General Public License for more details. |
|
13 |
# |
|
14 |
# You should have received a copy of the GNU General Public License |
|
15 |
# along with this program; if not, write to the Free Software |
|
16 |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
|
17 |
################################################################################### |
|
18 |
||
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
19 |
find_program(ANT ant) |
5621 | 20 |
|
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
21 |
if(NOT ANDROID_NDK) |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
22 |
find_path(ANDROID_NDK ndk-build) |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
23 |
endif() |
5621 | 24 |
|
6340 | 25 |
if(IS_DIRECTORY "${ANDROID_NDK}") |
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
26 |
MESSAGE(STATUS "Detected the android NDK directory at: " ${ANDROID_NDK}) |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
27 |
else () |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
28 |
MESSAGE(FATAL_ERROR "Couldn't detect the Android NDK directory") |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
29 |
endif() |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
30 |
|
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
31 |
if(NOT ANDROID_SDK)#Check if its defined at the cmdline |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
32 |
find_path(ANDROID_SDK adb ) #assume they've added platform-tools to their path |
6340 | 33 |
get_filename_component(ANDROID_SDK "${ANDROID_SDK}" PATH) |
34 |
set(ANDROID_SDK "${ANDROID_SDK}" CACHE PATH "Path to the android sdk" FORCE) |
|
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
35 |
endif() |
5621 | 36 |
|
6340 | 37 |
if( IS_DIRECTORY "${ANDROID_SDK}") |
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
38 |
MESSAGE(STATUS "Detected the android SDK directory at: " ${ANDROID_SDK}) |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
39 |
else () |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
40 |
MESSAGE(FATAL_ERROR "Couldn't detect the Android SDK directory") |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
41 |
endif() |
5442
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
42 |
|
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
43 |
if( NOT FPC_DIR) |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
44 |
find_path(FPC_DIR ppcrossarm) |
6340 | 45 |
get_filename_component(FPC_DIR "${FPC_DIR}" PATH) |
46 |
set(FPC_DIR "${FPC_DIR}" CACHE PATH "Path to fpc dir used in the android port" FORCE) |
|
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
47 |
endif() |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
48 |
|
6340 | 49 |
if( IS_DIRECTORY "${FPC_DIR}") |
50 |
MESSAGE(STATUS "Detected the FreePascal directory at: " "${FPC_DIR}") |
|
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
51 |
else () |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
52 |
MESSAGE(FATAL_ERROR "Couldn't detect the FreePascal directory") |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
53 |
endif() |
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
54 |
|
5442
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
55 |
set(SDL_DIR /home/richard/Downloads/android-project) |
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
56 |
|
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
57 |
|
6589
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
58 |
set(ANDROID_SDK_API_LVL 14) |
6230
de1e43054017
automated the build process some more, users must add the android ndk, sdk and fpc dir to their $PATH and cmake will do the rest, I still need a solution for the sdl dir. Subrepo's perhaps?
Xeli
parents:
6039
diff
changeset
|
59 |
set(ANDROID_NDK_API_LVL 5) |
5381
8f95038f3f75
Removed protocol check, using CMake now to setup the building scripts using Templates/* removed old scripts
Xeli
parents:
diff
changeset
|
60 |
|
6589
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
61 |
MESSAGE(STATUS "Creating Makefile.android...") |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
62 |
|
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
63 |
configure_file(Templates/Makefile.android .) |
5442
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
64 |
|
6589
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
65 |
find_program(ANDROID android "${ANDROID_SDK}" "${ANDROID_SDK}/tools") |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
66 |
if(ANDROID) |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
67 |
exec_program(${ANDROID} |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
68 |
ARGS "update project" |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
69 |
"--path ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project" |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
70 |
"--target android-${ANDROID_SDK_API_LVL}" |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
71 |
OUTPUT_VARIABLE dontcare |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
72 |
) |
2fa0a274a1e3
some tweaks to the build process, cmake now generates some vital files, fpc only compiles those files which have been changed since the last time, SDL still does not work
Xeli
parents:
6340
diff
changeset
|
73 |
endif(ANDROID) |
5381
8f95038f3f75
Removed protocol check, using CMake now to setup the building scripts using Templates/* removed old scripts
Xeli
parents:
diff
changeset
|
74 |
|
6590 | 75 |
exec_program(${HGCOMMAND} |
76 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/core/android/SDL_android.cpp |
|
77 |
OUTPUT_VARIABLE dontcare |
|
78 |
) |
|
6593
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
79 |
exec_program(${HGCOMMAND} |
6590 | 80 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/main/android/SDL_android_main.cpp |
81 |
OUTPUT_VARIABLE dontcare |
|
82 |
) |
|
6593
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
83 |
exec_program(${HGCOMMAND} |
6619
229b99faf580
disable using files from the assets dir, and use fopen()
Xeli
parents:
6594
diff
changeset
|
84 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/file/SDL_rwops.c |
229b99faf580
disable using files from the assets dir, and use fopen()
Xeli
parents:
6594
diff
changeset
|
85 |
OUTPUT_VARIABLE dontcare |
229b99faf580
disable using files from the assets dir, and use fopen()
Xeli
parents:
6594
diff
changeset
|
86 |
) |
229b99faf580
disable using files from the assets dir, and use fopen()
Xeli
parents:
6594
diff
changeset
|
87 |
exec_program(${HGCOMMAND} |
6593
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
88 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL_mixer/Android.mk |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
89 |
OUTPUT_VARIABLE dontcare |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
90 |
) |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
91 |
exec_program(${HGCOMMAND} |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
92 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL_ttf/Android.mk |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
93 |
OUTPUT_VARIABLE dontcare |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
94 |
) |
6f978fca3711
revert Android.mk back after copying SDL_mixer and SDL_ttf
Xeli
parents:
6591
diff
changeset
|
95 |