Line
Link Here
|
0 |
-- CMakeLists.txt |
0 |
++ CMakeLists.txt |
Lines 35-48
Link Here
|
35 |
MESSAGE("Using CFLAGS='${CFLAGS}'") |
35 |
MESSAGE("Using CFLAGS='${CFLAGS}'") |
36 |
|
36 |
|
37 |
IF(UNIX) |
37 |
IF(UNIX) |
38 |
SET(ALLEGRO_UNIX_LIBS "$ENV{_ALLEGRO_LIBS}") |
38 |
exec_program(allegro-config ARGS --libs OUTPUT_VARIABLE ALLEGRO_LIBRARY) |
|
|
39 |
SET(ALLEGRO_UNIX_LIBS "${ALLEGRO_LIBRARY}") |
39 |
IF(NOT ALLEGRO_UNIX_LIBS) |
40 |
IF(NOT ALLEGRO_UNIX_LIBS) |
40 |
MESSAGE(FATAL_ERROR "Please do not invoke CMake directly. Run ./configure instead.") |
41 |
MESSAGE(FATAL_ERROR "Allegro libs not found!") |
41 |
ENDIF(NOT ALLEGRO_UNIX_LIBS) |
42 |
ENDIF(NOT ALLEGRO_UNIX_LIBS) |
42 |
ENDIF(UNIX) |
43 |
ENDIF(UNIX) |
43 |
|
|
|
44 |
|
45 |
|
46 |
|
44 |
|
47 |
|
45 |
|
48 |
# Finding the required libraries: |
46 |
# Finding the required libraries: |
Lines 53-59
Link Here
|
53 |
MESSAGE(FATAL_ERROR "Fatal error: couldn't find the Allegro game programming library (liballeg)! ${RTFM}") |
51 |
MESSAGE(FATAL_ERROR "Fatal error: couldn't find the Allegro game programming library (liballeg)! ${RTFM}") |
54 |
ELSE(NOT LALLEG) |
52 |
ELSE(NOT LALLEG) |
55 |
IF(UNIX) |
53 |
IF(UNIX) |
56 |
SET(ALLEGRO_UNIX_VERSION "$ENV{_ALLEGRO_VERSION}") |
54 |
exec_program(allegro-config ARGS --version OUTPUT_VARIABLE ALLEGRO_VERSION) |
|
|
55 |
SET(ALLEGRO_UNIX_VERSION "${ALLEGRO_VERSION}") |
57 |
IF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION) |
56 |
IF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION) |
58 |
MESSAGE("\nWARNING: your Allegro version is ${ALLEGRO_UNIX_VERSION}. The recommended version is ${ALLEGRO_RECOMMENDED_VERSION}.\n ${GAME_NAME} may not compile properly!.\n") |
57 |
MESSAGE("\nWARNING: your Allegro version is ${ALLEGRO_UNIX_VERSION}. The recommended version is ${ALLEGRO_RECOMMENDED_VERSION}.\n ${GAME_NAME} may not compile properly!.\n") |
59 |
ENDIF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION) |
58 |
ENDIF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION) |
Lines 251-257
Link Here
|
251 |
ADD_EXECUTABLE(${GAME_UNIXNAME} ${GAME_SRCS}) |
250 |
ADD_EXECUTABLE(${GAME_UNIXNAME} ${GAME_SRCS}) |
252 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES LINK_FLAGS ${ALLEGRO_UNIX_LIBS}) |
251 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES LINK_FLAGS ${ALLEGRO_UNIX_LIBS}) |
253 |
TARGET_LINK_LIBRARIES(${GAME_UNIXNAME} m logg vorbisfile vorbis ogg jpgalleg z png loadpng) |
252 |
TARGET_LINK_LIBRARIES(${GAME_UNIXNAME} m logg vorbisfile vorbis ogg jpgalleg z png loadpng) |
254 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES COMPILE_FLAGS "-Wall -O2 ${CFLAGS} ${CFLAGS_EXTRA}") |
253 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES COMPILE_FLAGS "-Wall") |
255 |
ENDIF(UNIX) |
254 |
ENDIF(UNIX) |
256 |
|
255 |
|
257 |
|
256 |
|
Lines 407-425
Link Here
|
407 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES PROJECT_NAME "${GAME_NAME}") |
406 |
SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES PROJECT_NAME "${GAME_NAME}") |
408 |
|
407 |
|
409 |
|
408 |
|
410 |
|
|
|
411 |
# Installing on *nix |
409 |
# Installing on *nix |
412 |
IF(UNIX) |
410 |
IF(UNIX) |
413 |
SET(GAME_INSTALL_DIR "/usr/share/${GAME_UNIXNAME}") |
411 |
SET(GAME_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/${GAME_UNIXNAME}" CACHE PATH "") |
414 |
SET(GAME_FINAL_DIR "/usr/bin") |
412 |
SET(GAME_FINAL_DIR "bin" CACHE PATH "") |
|
|
413 |
SET(GAME_DOCDIR "share/doc/${GAME_UNIXNAME}-${GAME_VERSION}" CACHE PATH "") |
414 |
SET(GAME_HTMLDIR "share/doc/${GAME_UNIXNAME}-${GAME_VERSION}/html" CACHE PATH "") |
415 |
SET(GAME_ICONDIR "share/pixmaps" CACHE PATH "") |
416 |
SET(GAME_DESKTOPDIR "share/applications" CACHE PATH "") |
417 |
|
418 |
FILE(WRITE ${GAME_UNIXNAME}.sh |
419 |
"#!/bin/sh |
420 |
cd ${GAME_INSTALL_DIR} |
421 |
exec ./${GAME_UNIXNAME} \"$@\" |
422 |
" |
423 |
) |
424 |
|
425 |
FILE(WRITE ${GAME_UNIXNAME}.desktop |
426 |
"[Desktop Entry] |
427 |
Name=${GAME_NAME} |
428 |
Type=Application |
429 |
Comment=A free open-source clone of the Sonic the Hedgehog universe |
430 |
Exec=${GAME_UNIXNAME} |
431 |
TryExec=${GAME_UNIXNAME} |
432 |
Icon=${GAME_UNIXNAME} |
433 |
Categories=Game;ArcadeGame; |
434 |
" |
435 |
) |
415 |
|
436 |
|
416 |
INSTALL(CODE "MESSAGE(\"Installing ${GAME_NAME} ${GAME_VERSION}... Make sure you have root privileges.\")") |
437 |
INSTALL(CODE "MESSAGE(\"Installing ${GAME_NAME} ${GAME_VERSION}... Make sure you have root privileges.\")") |
417 |
INSTALL(TARGETS ${GAME_UNIXNAME} RUNTIME DESTINATION ${GAME_INSTALL_DIR}) |
438 |
INSTALL(TARGETS ${GAME_UNIXNAME} RUNTIME DESTINATION ${GAME_INSTALL_DIR}) |
418 |
INSTALL(FILES license.txt readme.html DESTINATION ${GAME_INSTALL_DIR}) |
439 |
# INSTALL(FILES license.txt DESTINATION ${GAME_DOCDIR}) |
|
|
440 |
INSTALL(FILES readme.html DESTINATION ${GAME_HTMLDIR}) |
441 |
INSTALL(FILES icon.png DESTINATION ${GAME_ICONDIR} RENAME ${GAME_UNIXNAME}.png) |
442 |
INSTALL(FILES ${GAME_UNIXNAME}.desktop DESTINATION ${GAME_DESKTOPDIR}) |
419 |
INSTALL(DIRECTORY objects sprites config images levels licenses musics quests samples screenshots themes languages DESTINATION ${GAME_INSTALL_DIR} PATTERN ".svn" EXCLUDE) |
443 |
INSTALL(DIRECTORY objects sprites config images levels licenses musics quests samples screenshots themes languages DESTINATION ${GAME_INSTALL_DIR} PATTERN ".svn" EXCLUDE) |
420 |
|
444 |
INSTALL(PROGRAMS ${GAME_UNIXNAME}.sh DESTINATION ${GAME_FINAL_DIR} RENAME ${GAME_UNIXNAME}) |
421 |
INSTALL(CODE "MESSAGE(\"Creating files at ${GAME_FINAL_DIR}...\")") |
|
|
422 |
INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"cmake\" \"-E\" \"copy\" \"${GAME_INSTALL_DIR}/${GAME_UNIXNAME}\" \"${GAME_FINAL_DIR}/${GAME_UNIXNAME}\")") |
423 |
|
445 |
|
424 |
INSTALL(CODE "MESSAGE(\"Done! Please run ${GAME_UNIXNAME} to start ${GAME_NAME}.\")") |
446 |
INSTALL(CODE "MESSAGE(\"Done! Please run ${GAME_UNIXNAME} to start ${GAME_NAME}.\")") |
425 |
ENDIF(UNIX) |
447 |
ENDIF(UNIX) |