author | Xeli |
Tue, 24 Jan 2012 01:59:28 +0100 | |
changeset 6591 | 2abf9ea19a38 |
parent 6590 | 5f15b4026b19 |
child 6593 | 6f978fca3711 |
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 .) |
6591
2abf9ea19a38
these are needed for ndk-build or it won't know what api to build it for
Xeli
parents:
6590
diff
changeset
|
64 |
configure_file(Templates/default.properties SDL-android-project/) |
5442
7c1e5a5f7f34
Greatly simplifies the buildenvironment plus makes cmake a bit more vocal
Xeli
parents:
5408
diff
changeset
|
65 |
|
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
|
66 |
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
|
67 |
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
|
68 |
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
|
69 |
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
|
70 |
"--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
|
71 |
"--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
|
72 |
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
|
73 |
) |
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
|
74 |
endif(ANDROID) |
5381
8f95038f3f75
Removed protocol check, using CMake now to setup the building scripts using Templates/* removed old scripts
Xeli
parents:
diff
changeset
|
75 |
|
6590 | 76 |
exec_program(${HGCOMMAND} |
77 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/core/android/SDL_android.cpp |
|
78 |
OUTPUT_VARIABLE dontcare |
|
79 |
) |
|
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
|
80 |
exec_program(${HGCOMMAND} |
6590 | 81 |
ARGS revert ${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project/jni/SDL/src/main/android/SDL_android_main.cpp |
82 |
OUTPUT_VARIABLE dontcare |
|
83 |
) |