summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 63084e8b6841c4d054f1a09e8396e27ee8016fea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Created by Tomas Chvatal
# volani se vsema externima moznostma:

# cmake . -DServer=1 -DNO_Audio=1 -DDebug=1 -DCMAKE_C_FLAGS=-Wall -DDist=1"
# make
# make install

# DDist=1 vyrobi binarku do adresare dist/ -> vhodne pro distribuci binarniho baliku...
# !! pri zmene zdrojovych souboru se podivejte co je treba delat do souboru !!
# !! CMakeLists.txt v adresari src !!
SET ( APPNAME "tuxanci-ng")
IF ( Server )
	SET ( APPNAME "tuxanci-ng-server" )
ENDIF ( Server )
MESSAGE ( "<******************************>" )
MESSAGE ( "Configure for ${APPNAME} Started" )
MESSAGE ( "<******************************>" )
CMAKE_MINIMUM_REQUIRED ( VERSION 2.4.6 )
CMAKE_MINIMUM_REQUIRED ( VERSION 2.4.6 FATAL_ERROR )
#OSX
#SET ( CMAKE_OSX_ARCHITECTURES ppc i386 )
#CMAKE_OSX_SYSROOT
IF ( Apple )
	SET (
		CMAKE_OSX_ARCHITECTURES "ppc;i386"
		CACHE_INTERNAL "OSX Architectures" FORCE
	)
ENDIF ( Apple )
SET ( CMAKE_COLOR_MAKEFILE ON )
## balickovani 
SET ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README" )
SET ( CPACK_GENERATOR "TBZ2" )
SET ( CPACK_SOURCE_GENERATOR "TBZ2" )
SET ( CPACK_PACKAGE_VERSION_MAJOR "0" )
SET ( CPACK_PACKAGE_VERSION_MINOR "2" )
SET ( CPACK_PACKAGE_VERSION_PATCH "0" )
SET ( TUXANCI_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}" )
SET ( TUXANCI_VERSION_FULL "${TUXANCI_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}" )
SET ( CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${TUXANCI_VERSION_FULL}" )
INCLUDE ( CPack )

SET ( CMAKE_BUILD_TYPE_SHARED_LIBS ON )
# flagy
SET( CMAKE_C_FLAGS $ENV{CFLAGS} )
SET( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} )
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

# nazev projektu
PROJECT ( tuxanci )
# verbose nastaveni vypnout pred release
IF ( Dist )
	SET ( CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/dist )
	SET ( PREFIX \\"../\\" ) # tohle by melo vytvorit binarku s relativni path
ENDIF ( Dist )
IF ( Debug )
	SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O2 -Wall -pipe")
	SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall -pipe")
#	SET ( CMAKE_VERBOSE_MAKEFILE on )
ENDIF ( Debug)
MESSAGE ( "EXTRA Cflags:${CMAKE_C_FLAGS}" )
MESSAGE ( "EXTRA CXXflags:${CMAKE_CXX_FLAGS}" )
# pouzite podadresare
# nestarame se o adresare s daty
MESSAGE ( STATUS "<Compiling SRC>" )
MESSAGE ( STATUS "<******************************>" )
ADD_SUBDIRECTORY ( src )

#MESSAGE(STATUS "<Compiling Lang>")
#MESSAGE(STATUS "<******************************>")
#ADD_SUBDIRECTORY ( lang )

# instalace
# data !TODO
#MESSAGE ( STATUS "<Installing datafiles>" )
#MESSAGE ( STATUS "<******************************>" )

SET ( CMAKE_INSTALL_DATADIR share/ )
SET ( CMAKE_INSTALL_ETCDIR /etc )
IF ( Server )
	INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/conf/server.conf DESTINATION ${CMAKE_INSTALL_ETCDIR}/${APPNAME} )
ELSE ( Server )
	INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/tuxanci-ng.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/)
	INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/conf/keytable.conf DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/conf/ )
	FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/font/*.ttf" )
	INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/font/ )
	FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/image/*.png" )
	INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/image/ )
	FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/lang/*.lang" )
	INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/lang/ )
	FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/music/*.ogg" )
	INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/music/ )
	FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/sound/*.ogg" )
	INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/sound/ )
ENDIF ( Server )
INSTALL ( FILES ${CMAKE_SOURCE_DIR}/LICENCE DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/)
INSTALL ( FILES ${CMAKE_SOURCE_DIR}/AUTHORS DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/ )
INSTALL ( FILES ${CMAKE_SOURCE_DIR}/README DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/)
FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/arena/*.map" )
INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/arena/ )
# uninstall
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
  IMMEDIATE @ONLY)

ADD_CUSTOM_TARGET(uninstall
  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")