CMakeLists.txt
author nemo
Tue, 30 Mar 2010 17:50:58 +0000
changeset 3183 9f51543d173b
parent 3157 77ed36827e30
child 3198 6947d29c2a24
permissions -rw-r--r--
typo in template 41 definition. using FPoints from 40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
     1
project(hedgewars)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
     2
1461
87e5a6c3882c Ping clients every 30 seconds, should help with ghosts on server
unc0rr
parents: 1459
diff changeset
     3
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
     4
3074
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
     5
IF(COMMAND cmake_policy)
1107
ee873ada9e86 Supress CMake warning
unc0rr
parents: 1074
diff changeset
     6
	cmake_policy(SET CMP0003 NEW)
3074
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
     7
ENDIF(COMMAND cmake_policy)
1107
ee873ada9e86 Supress CMake warning
unc0rr
parents: 1074
diff changeset
     8
2672
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
     9
#detect subversion revision (if present)
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
    10
set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
3074
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    11
IF(version_suffix MATCHES "-dev")
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    12
	set(HW_DEV true)
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    13
	IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.svn) 
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    14
		FIND_PACKAGE(Subversion)
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    15
		IF(Subversion_FOUND)
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    16
			Subversion_WC_INFO(${CMAKE_HOME_DIRECTORY} Project)
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    17
			MESSAGE(STATUS "Builing revision ${Project_WC_REVISION}")
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    18
			set(version_suffix ".${Project_WC_REVISION}")
3105
smxx
parents: 3074
diff changeset
    19
			#truncate to numbers only - trying to fix a problem described in http://www.hedgewars.org/node/2019
3106
smxx
parents: 3105
diff changeset
    20
			STRING(REGEX REPLACE "^\\.(\\d+)" ".\\1" version_suffix ${version_suffix})
smxx
parents: 3105
diff changeset
    21
			# screw whole suffix if there's no number
smxx
parents: 3105
diff changeset
    22
			STRING(REGEX REPLACE "^\\.([a-z]+.*)" "-dev" version_suffix ${version_suffix})
3074
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    23
		ENDIF(Subversion_FOUND)
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    24
	ENDIF()
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    25
ELSE()
271cfcb2bcda Frontend:
smxx
parents: 3055
diff changeset
    26
	set(HW_DEV false)
2672
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
    27
ENDIF()
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
    28
1843
16cdd1745b73 Add QCA2 checks to build system
unc0rr
parents: 1758
diff changeset
    29
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
1107
ee873ada9e86 Supress CMake warning
unc0rr
parents: 1074
diff changeset
    30
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
    31
set(CPACK_PACKAGE_VERSION_MAJOR "0")
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
    32
set(CPACK_PACKAGE_VERSION_MINOR "9")
2672
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
    33
set(CPACK_PACKAGE_VERSION_PATCH "13${version_suffix}")
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
    34
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    35
#forbid in-tree building
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    36
#IF (${CMAKE_SOURCE_DIR} MATCHES ${CMAKE_BINARY_DIR})
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    37
#	MESSAGE(STATUS "Please do an out-of-tree build:")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    38
#	MESSAGE(STATUS "rm CMakeCache.txt; mkdir build; cd build; cmake ..; make")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    39
#	MESSAGE(FATAL_ERROR "In-tree-build detected!")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    40
#ENDIF (${CMAKE_SOURCE_DIR} MATCHES ${CMAKE_BINARY_DIR})
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    41
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    42
2015
d2848d723690 koda's patch
unc0rr
parents: 2005
diff changeset
    43
if(APPLE)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    44
	set(CMAKE_FIND_FRAMEWORK "FIRST")
2609
b67624c7d61e add a x86_64 mac target
koda
parents: 2606
diff changeset
    45
	
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    46
	#paths for creating the bundle
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    47
	set(bundle_name Hedgewars.app)
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    48
	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) 
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    49
	set(DATA_INSTALL_DIR "../Resources/")
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    50
	set(target_dir ".")
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    51
	
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2666
diff changeset
    52
	#what system are we building for
4eec706e86b0 introduction of IMG_Init
koda
parents: 2666
diff changeset
    53
	set(minimum_macosx $ENV{MACOSX_DEPLOYMENT_TARGET})
4eec706e86b0 introduction of IMG_Init
koda
parents: 2666
diff changeset
    54
	
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    55
	#detect on which system are we
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    56
	EXEC_PROGRAM("/usr/bin/sw_vers" OUTPUT_VARIABLE MACOSX_VERSION_TMP)
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    57
	STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION_TMP "${MACOSX_VERSION_TMP}")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    58
	STRING(REGEX REPLACE "([0-9][0-9].[0-9]+).[0-9]" "\\1" current_macosx_version ${MACOSX_VERSION_TMP})
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    59
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    60
	if(NOT minimum_macosx)
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    61
		#if nothing is set, we deploy only for the current system
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    62
		set(minimum_macosx ${current_macosx_version})
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    63
	endif()
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    64
2929
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    65
	if (minimum_macosx LESS "10.4")
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    66
		set(FATAL "Hedgewars is not supported for pre-10.4 systems")
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    67
	endif()
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    68
3055
f542a36ef6c0 fix a build error on 10.5, LandPixels properly initialized
koda
parents: 2929
diff changeset
    69
	set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    70
	if(current_macosx_version MATCHES "10.6")
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    71
		set(CMAKE_OSX_ARCHITECTURES "x86_64")
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    72
	endif()
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    73
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2666
diff changeset
    74
	#create universal binaries only when it's time to bundle the application, also build server
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    75
	IF(BUNDLE)
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
    76
		set(WITH_SERVER false)
2929
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    77
		if(NOT minimum_macosx MATCHES "10.6")
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    78
			set(CMAKE_C_COMPILER "gcc-4.0")
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
    79
			set(CMAKE_CXX_COMPILER "g++-4.0")
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    80
		endif()
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    81
	ENDIF()	
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    82
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
    83
	message(STATUS "Target system: Mac OS X ${minimum_macosx} ${CMAKE_OSX_ARCHITECTURES}")	
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    84
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    85
	if(minimum_macosx MATCHES "10.4")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    86
		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    87
	else()
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    88
		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${minimum_macosx}.sdk/")
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    89
	endif()
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
    90
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    91
	#1.set deployment target; 2.link with libsdlmain.a; 3.link with liblua.a (which requires readline)
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    92
	set(pascal_compiler_flags_cmn "-k-macosx_version_min" "-k${minimum_macosx}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_compiler_flags_cmn})
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    93
	set(pascal_compiler_flags_cmn "-k${CMAKE_BINARY_DIR}/bin/libSDLmain.a" ${pascal_compiler_flags_cmn})
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    94
	set(pascal_compiler_flags_cmn "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_compiler_flags_cmn})
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
    95
else(APPLE)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
    96
	set(target_dir "bin")
2015
d2848d723690 koda's patch
unc0rr
parents: 2005
diff changeset
    97
endif(APPLE)
d2848d723690 koda's patch
unc0rr
parents: 2005
diff changeset
    98
2406
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
    99
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   100
#this snippet sets "Release" mode by default
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   101
#IF (NOT CMAKE_BUILD_TYPE)
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   102
#	SET(CMAKE_BUILD_TYPE "Release")
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   103
#ENDIF (NOT CMAKE_BUILD_TYPE)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   104
if (NOT CMAKE_BUILD_TYPE)
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   105
	set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: None Debug Release." FORCE)
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   106
endif (NOT CMAKE_BUILD_TYPE)
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   107
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   108
if(CMAKE_BUILD_TYPE MATCHES RELEASE OR CMAKE_BUILD_TYPE MATCHES "Release")
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   109
	message(STATUS "Building Release")	
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   110
	set(Optz true)
2406
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
   111
else()
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   112
	message(STATUS "Building Debug")	
2834
61f14237dc56 General:
smxx
parents: 2827
diff changeset
   113
	#set(CMAKE_VERBOSE_MAKEFILE true)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   114
	set(Optz false)
2406
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
   115
endif()
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
   116
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
   117
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   118
#set default flags values for all the project
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   119
set(CMAKE_C_FLAGS "-pipe")
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   120
set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer")
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   121
set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG")
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   122
set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   123
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   124
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   125
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2666
diff changeset
   126
set(pascal_compiler_flags_cmn "-B" "-FE../bin" "-Cs2000000" "-vwi" ${pascal_compiler_flags_cmn})
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   127
if(LOWRES)
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   128
	set(pascal_compiler_flags_cmn "-dLOWRES" ${pascal_compiler_flags_cmn})
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   129
	add_definitions(-DLOWRES)
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   130
endif(LOWRES)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   131
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   132
if(Optz)
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   133
	set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Si" ${pascal_compiler_flags_cmn})
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
   134
	set(haskell_compiler_flags_cmn "-O2" "-w")
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   135
else(Optz)
3157
77ed36827e30 Frontend:
smxx
parents: 3106
diff changeset
   136
	set(pascal_compiler_flags_cmn "-O-" "-glhtv" "-dDEBUGFILE" "-vwnv" ${pascal_compiler_flags_cmn})
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   137
	set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint")
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   138
endif(Optz)
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   139
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   140
266
53f46353d029 one else fix
displacer
parents: 265
diff changeset
   141
if(DEFINED DATA_INSTALL_DIR)
262
b4bc05237c06 fixed absent DATA_INSTALL_DIR
displacer
parents: 261
diff changeset
   142
	set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/)
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   143
else()
262
b4bc05237c06 fixed absent DATA_INSTALL_DIR
displacer
parents: 261
diff changeset
   144
	set(SHAREPATH share/hedgewars/)
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2644
diff changeset
   145
endif()
220
d79eaeaf969d Fix hwengine target behaviour
unc0rr
parents: 205
diff changeset
   146
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   147
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   148
set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
2573
a7db29d7e2d0 Set version to 0.9.13-dev, protocol number to 30 due to changes in engine
unc0rr
parents: 2556
diff changeset
   149
set(HEDGEWARS_PROTO_VER 30)
271
f2f9a3d5b441 Protocol version sets in CMake
unc0rr
parents: 268
diff changeset
   150
1415
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   151
if(WITH_SERVER)
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   152
	set(HAVE_NETSERVER true)
1979
912e450d4db2 - Add gameServer to build system
unc0rr
parents: 1843
diff changeset
   153
	add_subdirectory(gameServer)
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   154
	if(APPLE)
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   155
		#workaround for http://hackage.haskell.org/trac/ghc/ticket/3400
2674
2fce032f2f95 lupdate + Palewolf's updated spanish translation + other patches of mine
koda
parents: 2672
diff changeset
   156
		set(haskell_compiler_flags_cmn ${haskell_compiler_flags_cmn} "-optc-m32" "-opta-m32" "-optl-arch\ i386")
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   157
	endif()
1415
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   158
else(WITH_SERVER)
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   159
	set(HAVE_NETSERVER false)
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   160
endif(WITH_SERVER)
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   161
2239
d7b5c65f7544 move C and C++ optimization flags in the main CMakeLists.txt
koda
parents: 2219
diff changeset
   162
223
c41effdd461d Better build system scripts
unc0rr
parents: 220
diff changeset
   163
add_subdirectory(bin)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   164
add_subdirectory(QTfrontend)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   165
add_subdirectory(hedgewars)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   166
add_subdirectory(share)
2219
07f5345ecae7 additional variable (BUNDLE) to make a standalone Mac application
koda
parents: 2203
diff changeset
   167
add_subdirectory(tools)
2812
0a24853de796 add liblua to sources for macosx
koda
parents: 2809
diff changeset
   168
add_subdirectory(misc/liblua)
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
   169
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   170
# CPack vars
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   171
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   172
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a turn-based strategy")
2827
45817d8386c7 Engine:
smxx
parents: 2822
diff changeset
   173
set(CPACK_PACKAGE_VENDOR "Hedgewars Project")
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   174
set(CPACK_PACKAGE_FILE_NAME "hedgewars-${HEDGEWARS_VERSION}")
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   175
set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${HEDGEWARS_VERSION}")
1459
cf6fa7c9cf45 Fix generator name (TBZ2 instead of BZ2)
unc0rr
parents: 1458
diff changeset
   176
set(CPACK_SOURCE_GENERATOR "TBZ2")
1173
70b0acd4548c Revert accidental nsis installer generator regression
unc0rr
parents: 1159
diff changeset
   177
set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars")
458
5880af7b530a Fix build
unc0rr
parents: 360
diff changeset
   178
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   179
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}")
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   180
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   181
if(WIN32 AND NOT UNIX)
2200
8192be6e3aef koda/Smaxx changes to openal for crossplatform building
nemo
parents: 2191
diff changeset
   182
	set(CPACK_NSIS_DISPLAY_NAME "Hedgewars, a free turn-based strategy game") 
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   183
	set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   184
	set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   185
	set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
1159
49c88f620e51 Various build system improvements
unc0rr
parents: 1141
diff changeset
   186
	set(CPACK_NSIS_MODIFY_PATH OFF)
49c88f620e51 Various build system improvements
unc0rr
parents: 1141
diff changeset
   187
	set(CPACK_GENERATOR "ZIP;NSIS")
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   188
else(WIN32 AND NOT UNIX)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   189
	set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine")
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   190
endif(WIN32 AND NOT UNIX)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   191
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   192
set(CPACK_SOURCE_IGNORE_FILES
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   193
	"~"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   194
	"\\\\.svn"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   195
	"\\\\.exe$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   196
	"\\\\.a$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   197
	"\\\\.dll$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   198
	"\\\\.xcf$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   199
	"\\\\.cxx$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   200
	"\\\\.db$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   201
	"\\\\.dof$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   202
	"\\\\.cmake$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   203
	"\\\\.layout$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   204
	"\\\\.zip$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   205
	"\\\\.gz$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   206
	"\\\\.bz2$"
722
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   207
	"\\\\.tmp$"
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   208
	"\\\\.core$"
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   209
	"\\\\.sh$"
727
da975a75af09 Fix all issues with make package_source on my system
unc0rr
parents: 722
diff changeset
   210
	"\\\\.ppu$"
da975a75af09 Fix all issues with make package_source on my system
unc0rr
parents: 722
diff changeset
   211
	"\\\\.o$"
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   212
	"Makefile"
722
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   213
	"Doxyfile"
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   214
	"CMakeFiles"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   215
	"debug"
727
da975a75af09 Fix all issues with make package_source on my system
unc0rr
parents: 722
diff changeset
   216
	"release$"
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   217
	"Debug$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   218
	"Release$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   219
	"proto.inc$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   220
	"hwconsts.cpp$"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   221
	"playlist.inc$"
722
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   222
	"CPack"
2689
dfda97c153a4 iphone overlay button animation
koda
parents: 2674
diff changeset
   223
	"^${PROJECT_SOURCE_DIR}/openalbridge"
dfda97c153a4 iphone overlay button animation
koda
parents: 2674
diff changeset
   224
	"^${PROJECT_SOURCE_DIR}/cocoaTouch"
727
da975a75af09 Fix all issues with make package_source on my system
unc0rr
parents: 722
diff changeset
   225
	"^${PROJECT_SOURCE_DIR}/bin/[a-z]"
2556
a0b542a4c515 Fix 'make package_source' package
unc0rr
parents: 2544
diff changeset
   226
	"^${PROJECT_SOURCE_DIR}/tools/templates"
722
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   227
	"^${PROJECT_SOURCE_DIR}/doc"
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   228
	"^${PROJECT_SOURCE_DIR}/templates"
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   229
	"^${PROJECT_SOURCE_DIR}/Graphics"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   230
	"^${PROJECT_SOURCE_DIR}/realtest"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   231
	"^${PROJECT_SOURCE_DIR}/tmp"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   232
	"^${PROJECT_SOURCE_DIR}/utils"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   233
	"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   234
	"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   235
	"^${PROJECT_SOURCE_DIR}/install_manifest.txt"
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   236
	"^${PROJECT_SOURCE_DIR}/CMakeCache.txt"
722
993faebbe546 - Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents: 720
diff changeset
   237
	"^${PROJECT_SOURCE_DIR}/hedgewars\\\\."
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   238
)
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   239
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   240
include(CPack)