CMakeLists.txt
changeset 7220 dfe678f129e4
parent 7114 e0110a1229b7
child 7223 b554726ff468
equal deleted inserted replaced
7218:9ecd5bc9810b 7220:dfe678f129e4
     2 
     2 
     3 
     3 
     4 #initialise cmake environment
     4 #initialise cmake environment
     5 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
     5 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
     6 FOREACH(policy CMP0003 CMP0012)
     6 FOREACH(policy CMP0003 CMP0012)
     7 	IF(POLICY ${policy})
     7     IF(POLICY ${policy})
     8 		CMAKE_POLICY(SET ${policy} NEW)
     8         CMAKE_POLICY(SET ${policy} NEW)
     9 	ENDIF()
     9     ENDIF()
    10 ENDFOREACH()
    10 ENDFOREACH()
    11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
    11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
    12 
    12 
    13 
    13 
    14 #detect Mercurial revision (if present)
    14 #detect Mercurial revision (if present)
    15 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
    15 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
    16 set(HGCHANGED "")
    16 set(HGCHANGED "")
    17 IF(version_suffix MATCHES "-dev")
    17 IF(version_suffix MATCHES "-dev")
    18 	set(HW_DEV true)
    18     set(HW_DEV true)
    19 	IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg)
    19     IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg)
    20 		FIND_PROGRAM(HGCOMMAND hg)
    20         FIND_PROGRAM(HGCOMMAND hg)
    21 		IF(HGCOMMAND)
    21         IF(HGCOMMAND)
    22 			exec_program(${HGCOMMAND}
    22             exec_program(${HGCOMMAND}
    23 				     ARGS identify -in ${CMAKE_CURRENT_SOURCE_DIR}
    23                      ARGS identify -in ${CMAKE_CURRENT_SOURCE_DIR}
    24 				     OUTPUT_VARIABLE version_suffix
    24                      OUTPUT_VARIABLE version_suffix
    25 				     )
    25                      )
    26 			STRING(REGEX REPLACE "[^+]" "" HGCHANGED ${version_suffix})
    26             STRING(REGEX REPLACE "[^+]" "" HGCHANGED ${version_suffix})
    27 			STRING(REGEX REPLACE "([0-9a-zA-Z]+)(.*) ([0-9]+)(.*)" "\\3-\\1" version_suffix ${version_suffix})
    27             STRING(REGEX REPLACE "([0-9a-zA-Z]+)(.*) ([0-9]+)(.*)" "\\3-\\1" version_suffix ${version_suffix})
    28 			IF (HGCHANGED)
    28             IF (HGCHANGED)
    29 				MESSAGE(STATUS "Building revision ${version_suffix} (SOURCE CODE MODIFIED)")
    29                 MESSAGE(STATUS "Building revision ${version_suffix} (SOURCE CODE MODIFIED)")
    30 			ELSE()
    30             ELSE()
    31 				MESSAGE(STATUS "Building revision ${version_suffix}")
    31                 MESSAGE(STATUS "Building revision ${version_suffix}")
    32 			ENDIF()
    32             ENDIF()
    33 			set(version_suffix "-${version_suffix}")
    33             set(version_suffix "-${version_suffix}")
    34 		ENDIF()
    34         ENDIF()
    35 	ENDIF()
    35     ENDIF()
    36 ELSE()
    36 ELSE()
    37 	set(HW_DEV false)
    37     set(HW_DEV false)
    38 ENDIF()
    38 ENDIF()
    39 
    39 
    40 
    40 
    41 #versioning
    41 #versioning
    42 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    42 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    46 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    46 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    47 
    47 
    48 
    48 
    49 #set some safe values
    49 #set some safe values
    50 IF(NOT WITH_SERVER)
    50 IF(NOT WITH_SERVER)
    51 	SET(WITH_SERVER 0)
    51     SET(WITH_SERVER 0)
    52 ENDIF(NOT WITH_SERVER)
    52 ENDIF(NOT WITH_SERVER)
    53 IF(NOT BUILD_ENGINE_LIBRARY)
    53 IF(NOT BUILD_ENGINE_LIBRARY)
    54 	SET(BUILD_ENGINE_LIBRARY 0)
    54     SET(BUILD_ENGINE_LIBRARY 0)
    55 ENDIF(NOT BUILD_ENGINE_LIBRARY)
    55 ENDIF(NOT BUILD_ENGINE_LIBRARY)
    56 set(target_dir "bin")
    56 set(target_dir "bin")
    57 
    57 
    58 
    58 
    59 #bundle .app setup
    59 #bundle .app setup
    60 if(APPLE)
    60 if(APPLE)
    61 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    61     set(CMAKE_FIND_FRAMEWORK "FIRST")
    62 
    62 
    63 	#paths for creating the bundle
    63     #paths for creating the bundle
    64 	set(bundle_name Hedgewars.app)
    64     set(bundle_name Hedgewars.app)
    65 	set(frameworks_dir ${bundle_name}/Contents/Frameworks/)
    65     set(frameworks_dir ${bundle_name}/Contents/Frameworks/)
    66 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/)
    66     set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/)
    67 	set(DATA_INSTALL_DIR "../Resources/")
    67     set(DATA_INSTALL_DIR "../Resources/")
    68 	set(target_dir ".")
    68     set(target_dir ".")
    69 
    69 
    70 	#what system are we building for
    70     #what system are we building for
    71 	set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET})
    71     set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET})
    72 
    72 
    73 	#detect on which system we are: if sw_vers cannot be found for any reason (re)use minimum_macosx_version
    73     #detect on which system we are: if sw_vers cannot be found for any reason (re)use minimum_macosx_version
    74 	find_program(sw_vers sw_vers)
    74     find_program(sw_vers sw_vers)
    75 	if(sw_vers)
    75     if(sw_vers)
    76 		exec_program(${sw_vers} ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version)
    76         exec_program(${sw_vers} ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version)
    77 		string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version})
    77         string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version})
    78         else()
    78         else()
    79 		if(NOT minimum_macosx_version)
    79         if(NOT minimum_macosx_version)
    80 			message(FATAL_ERROR "sw_vers not found! Need explicit MACOSX_DEPLOYMENT_TARGET variable set")
    80             message(FATAL_ERROR "sw_vers not found! Need explicit MACOSX_DEPLOYMENT_TARGET variable set")
    81 		else()
    81         else()
    82 			set(current_macosx_version ${minimum_macosx_version})
    82             set(current_macosx_version ${minimum_macosx_version})
    83 		endif()
    83         endif()
    84 	endif()
    84     endif()
    85 
    85 
    86 	#if nothing is set, we deploy only for the current system
    86     #if nothing is set, we deploy only for the current system
    87 	if(NOT minimum_macosx_version)
    87     if(NOT minimum_macosx_version)
    88 		set(minimum_macosx_version ${current_macosx_version})
    88         set(minimum_macosx_version ${current_macosx_version})
    89 	endif()
    89     endif()
    90 
    90 
    91 	#lower systems don't have enough processing power anyways
    91     #lower systems don't have enough processing power anyways
    92 	if (minimum_macosx_version LESS "10.4")
    92     if (minimum_macosx_version LESS "10.4")
    93 		message(FATAL_ERROR "Hedgewars is not supported on Mac OS X pre-10.4")
    93         message(FATAL_ERROR "Hedgewars is not supported on Mac OS X pre-10.4")
    94 	endif()
    94     endif()
    95 
    95 
    96 	#workaround for http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html#SDL_mixer (Update 2)
    96     #workaround for http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html#SDL_mixer (Update 2)
    97 	if(current_macosx_version MATCHES "10.4")
    97     if(current_macosx_version MATCHES "10.4")
    98 		find_package(SDL_mixer REQUIRED)
    98         find_package(SDL_mixer REQUIRED)
    99 		set(DYLIB_SMPEG "-dylib_file @loader_path/Frameworks/smpeg.framework/Versions/A/smpeg:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg")
    99         set(DYLIB_SMPEG "-dylib_file @loader_path/Frameworks/smpeg.framework/Versions/A/smpeg:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg")
   100 		set(DYLIB_MIKMOD "-dylib_file @loader_path/Frameworks/mikmod.framework/Versions/A/mikmod:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod")
   100         set(DYLIB_MIKMOD "-dylib_file @loader_path/Frameworks/mikmod.framework/Versions/A/mikmod:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod")
   101 		set(pascal_flags "-k${DYLIB_SMPEG}" "-k${DYLIB_MIKMOD}" ${pascal_flags})
   101         set(pascal_flags "-k${DYLIB_SMPEG}" "-k${DYLIB_MIKMOD}" ${pascal_flags})
   102 		set(CMAKE_C_FLAGS "${DYLIB_SMPEG}" "${DYLIB_MIKMOD}" ${CMAKE_C_FLAGS})
   102         set(CMAKE_C_FLAGS "${DYLIB_SMPEG}" "${DYLIB_MIKMOD}" ${CMAKE_C_FLAGS})
   103 	endif()
   103     endif()
   104 
   104 
   105 	#CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_SYSROOT need to be set for universal binary and correct linking
   105     #CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_SYSROOT need to be set for universal binary and correct linking
   106 	if(NOT CMAKE_OSX_ARCHITECTURES)
   106     if(NOT CMAKE_OSX_ARCHITECTURES)
   107 		if(current_macosx_version LESS "10.6")
   107         if(current_macosx_version LESS "10.6")
   108 			if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*")
   108             if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*")
   109 				set(CMAKE_OSX_ARCHITECTURES "ppc7400")
   109                 set(CMAKE_OSX_ARCHITECTURES "ppc7400")
   110 			else()
   110             else()
   111 				set(CMAKE_OSX_ARCHITECTURES "i386")
   111                 set(CMAKE_OSX_ARCHITECTURES "i386")
   112 			endif()
   112             endif()
   113 		else()
   113         else()
   114 			set(CMAKE_OSX_ARCHITECTURES "x86_64")
   114             set(CMAKE_OSX_ARCHITECTURES "x86_64")
   115 		endif()
   115         endif()
   116 	endif()
   116     endif()
   117 
   117 
   118 	#CMAKE_OSX_SYSROOT is set at the system version we are supposed to build on
   118     #CMAKE_OSX_SYSROOT is set at the system version we are supposed to build on
   119 	#we need to provide the correct one when host and target differ
   119     #we need to provide the correct one when host and target differ
   120 	if(NOT ${minimum_macosx_version} MATCHES ${current_macosx_version})
   120     if(NOT ${minimum_macosx_version} MATCHES ${current_macosx_version})
   121 		if(minimum_macosx_version MATCHES "10.4")
   121         if(minimum_macosx_version MATCHES "10.4")
   122 			set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
   122             set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
   123 			set(CMAKE_C_COMPILER "gcc-4.0")
   123             set(CMAKE_C_COMPILER "gcc-4.0")
   124 			set(CMAKE_CXX_COMPILER "g++-4.0")
   124             set(CMAKE_CXX_COMPILER "g++-4.0")
   125 		else()
   125         else()
   126 			string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version})
   126             string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version})
   127 			set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/")
   127             set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/")
   128 		endif()
   128         endif()
   129 	endif()
   129     endif()
   130 
   130 
   131 	#add user framework directory, other paths can be passed via FPFLAGS
   131     #add user framework directory, other paths can be passed via FPFLAGS
   132 	set(pascal_flags "-Ff~/Library/Frameworks" ${pascal_flags})
   132     set(pascal_flags "-Ff~/Library/Frameworks" ${pascal_flags})
   133 	#set deployment target
   133     #set deployment target
   134 	set(pascal_flags "-k-macosx_version_min" "-k${minimum_macosx_version}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_flags})
   134     set(pascal_flags "-k-macosx_version_min" "-k${minimum_macosx_version}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_flags})
   135 
   135 
   136 	message(STATUS "Build system: Mac OS X ${current_macosx_version} with GCC:${CMAKE_C_COMPILER}")
   136     message(STATUS "Build system: Mac OS X ${current_macosx_version} with GCC:${CMAKE_C_COMPILER}")
   137 	message(STATUS "Target system: Mac OS X ${minimum_macosx_version} for architecture(s):${CMAKE_OSX_ARCHITECTURES}")
   137     message(STATUS "Target system: Mac OS X ${minimum_macosx_version} for architecture(s):${CMAKE_OSX_ARCHITECTURES}")
   138 endif(APPLE)
   138 endif(APPLE)
   139 
   139 
   140 
   140 
   141 #build Debug only when explicitally set
   141 #build Debug only when explicitally set
   142 if (NOT CMAKE_BUILD_TYPE)
   142 if (NOT CMAKE_BUILD_TYPE)
   143 	set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: Debug Release." FORCE)
   143     set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: Debug Release." FORCE)
   144 endif (NOT CMAKE_BUILD_TYPE)
   144 endif (NOT CMAKE_BUILD_TYPE)
   145 
   145 
   146 if(CMAKE_BUILD_TYPE MATCHES DEBUG OR CMAKE_BUILD_TYPE MATCHES "Debug" OR CMAKE_BUILD_TYPE MATCHES "debug")
   146 if(CMAKE_BUILD_TYPE MATCHES DEBUG OR CMAKE_BUILD_TYPE MATCHES "Debug" OR CMAKE_BUILD_TYPE MATCHES "debug")
   147 	message(STATUS "Building Debug")
   147     message(STATUS "Building Debug")
   148 	set(Optz false)
   148     set(Optz false)
   149 else()
   149 else()
   150 	message(STATUS "Building Release")
   150     message(STATUS "Building Release")
   151 	set(Optz true)
   151     set(Optz true)
   152 endif()
   152 endif()
   153 
   153 
   154 
   154 
   155 #set default flags values for all projects
   155 #set default flags values for all projects
   156 set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
   156 set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
   164 set(pascal_flags ${fpflags_full} "-B" "-FE../bin" "-Cs2000000" "-vewn" ${pascal_flags})
   164 set(pascal_flags ${fpflags_full} "-B" "-FE../bin" "-Cs2000000" "-vewn" ${pascal_flags})
   165 separate_arguments(ghflags_full UNIX_COMMAND ${GHFLAGS})
   165 separate_arguments(ghflags_full UNIX_COMMAND ${GHFLAGS})
   166 set(haskell_flags "-O2" ${haskell_flags} ${ghflags_full})
   166 set(haskell_flags "-O2" ${haskell_flags} ${ghflags_full})
   167 
   167 
   168 if(Optz)
   168 if(Optz)
   169 #	set(pascal_flags "-O3" "-OpPENTIUM4" "-CfSSE3" "-Xs" "-Si" ${pascal_flags})
   169 #    set(pascal_flags "-O3" "-OpPENTIUM4" "-CfSSE3" "-Xs" "-Si" ${pascal_flags})
   170 	set(pascal_flags "-Os" "-Ooregvar" "-Xs" "-Si" ${pascal_flags})
   170     set(pascal_flags "-Os" "-Ooregvar" "-Xs" "-Si" ${pascal_flags})
   171 	set(haskell_flags "-w" "-fno-warn-unused-do-bind" ${haskell_flags})
   171     set(haskell_flags "-w" "-fno-warn-unused-do-bind" ${haskell_flags})
   172 else(Optz)
   172 else(Optz)
   173 	set(pascal_flags "-O-" "-g" "-gl" "-gv" "-Ct" "-dDEBUGFILE" ${pascal_flags})
   173     set(pascal_flags "-O-" "-g" "-gl" "-gv" "-Ct" "-dDEBUGFILE" ${pascal_flags})
   174 	set(haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind" ${haskell_flags})
   174     set(haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind" ${haskell_flags})
   175 endif(Optz)
   175 endif(Optz)
   176 
   176 
   177 
   177 
   178 if(DEFINED DATA_INSTALL_DIR)
   178 if(DEFINED DATA_INSTALL_DIR)
   179 	set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/)
   179     set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/)
   180 else()
   180 else()
   181 	set(SHAREPATH share/hedgewars/)
   181     set(SHAREPATH share/hedgewars/)
   182 endif()
   182 endif()
   183 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
   183 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
   184 
   184 
   185 
   185 
   186 if(WITH_SERVER)
   186 if(WITH_SERVER)
   187 	if(GHC)
   187     if(GHC)
   188 		set(ghc_executable ${GHC})
   188         set(ghc_executable ${GHC})
   189 	else()
   189     else()
   190 		find_program(ghc_executable ghc)
   190         find_program(ghc_executable ghc)
   191 	endif()
   191     endif()
   192 
   192 
   193 	if(ghc_executable)
   193     if(ghc_executable)
   194 		set(HAVE_NETSERVER true)
   194         set(HAVE_NETSERVER true)
   195 		add_subdirectory(gameServer)
   195         add_subdirectory(gameServer)
   196 	else()
   196     else()
   197 		message(STATUS "No GHC executable found, server will *not* be built")
   197         message(STATUS "No GHC executable found, server will *not* be built")
   198 		set(HAVE_NETSERVER false)
   198         set(HAVE_NETSERVER false)
   199 	endif()
   199     endif()
   200 else(WITH_SERVER)
   200 else(WITH_SERVER)
   201 	set(HAVE_NETSERVER false)
   201     set(HAVE_NETSERVER false)
   202 endif(WITH_SERVER)
   202 endif(WITH_SERVER)
   203 
   203 
   204 find_package(Lua)
   204 find_package(Lua)
   205 if(NOT ${LUA_FOUND})
   205 if(NOT ${LUA_FOUND})
   206         message(STATUS "Lua library not found, building bundled dependency")
   206         message(STATUS "Lua library not found, building bundled dependency")
   207 	add_subdirectory(misc/liblua)
   207     add_subdirectory(misc/liblua)
   208 	#link with liblua.a (which requires system readline)
   208     #link with liblua.a (which requires system readline)
   209 	set(pascal_flags "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_flags})
   209     set(pascal_flags "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_flags})
   210 endif()
   210 endif()
   211 add_subdirectory(hedgewars)
   211 add_subdirectory(hedgewars)
   212 
   212 
   213 #run cmake -DANDROID=1 to enable this
   213 #run cmake -DANDROID=1 to enable this
   214 if(ANDROID)
   214 if(ANDROID)
   215 	add_subdirectory(project_files/Android-build)
   215     add_subdirectory(project_files/Android-build)
   216 endif()
   216 endif()
   217 
   217 
   218 if(NOT (BUILD_ENGINE_LIBRARY OR ANDROID))
   218 if(NOT (BUILD_ENGINE_LIBRARY OR ANDROID))
   219 	add_subdirectory(bin)
   219     add_subdirectory(bin)
   220 	add_subdirectory(misc/quazip)
   220     add_subdirectory(misc/quazip)
   221 	add_subdirectory(QTfrontend)
   221     add_subdirectory(QTfrontend)
   222 	add_subdirectory(share)
   222     add_subdirectory(share)
   223 	add_subdirectory(tools)
   223     add_subdirectory(tools)
   224 endif()
   224 endif()
   225 
   225 
   226 
   226 
   227 # CPack variables
   227 # CPack variables
   228 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy")
   228 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy")
   233 set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars")
   233 set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars")
   234 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
   234 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
   235 set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}")
   235 set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}")
   236 
   236 
   237 if(WIN32 AND NOT UNIX)
   237 if(WIN32 AND NOT UNIX)
   238 	set(CPACK_NSIS_DISPLAY_NAME "Hedgewars")
   238     set(CPACK_NSIS_DISPLAY_NAME "Hedgewars")
   239 	set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
   239     set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
   240 	set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
   240     set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
   241 	set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
   241     set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
   242 	set(CPACK_NSIS_MODIFY_PATH OFF)
   242     set(CPACK_NSIS_MODIFY_PATH OFF)
   243 	set(CPACK_GENERATOR "ZIP;NSIS")
   243     set(CPACK_GENERATOR "ZIP;NSIS")
   244 	set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars")
   244     set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars")
   245 else(WIN32 AND NOT UNIX)
   245 else(WIN32 AND NOT UNIX)
   246 	set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine")
   246     set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine")
   247 endif(WIN32 AND NOT UNIX)
   247 endif(WIN32 AND NOT UNIX)
   248 
   248 
   249 set(CPACK_SOURCE_IGNORE_FILES
   249 set(CPACK_SOURCE_IGNORE_FILES
   250 	"~"
   250     "~"
   251 	"\\\\.hg"
   251     "\\\\.hg"
   252 	"\\\\.svn"
   252     "\\\\.svn"
   253 	"\\\\.exe$"
   253     "\\\\.exe$"
   254 	"\\\\.a$"
   254     "\\\\.a$"
   255 	"\\\\.dll$"
   255     "\\\\.dll$"
   256 	"\\\\.xcf$"
   256     "\\\\.xcf$"
   257 	"\\\\.cxx$"
   257     "\\\\.cxx$"
   258 	"\\\\.db$"
   258     "\\\\.db$"
   259 	"\\\\.dof$"
   259     "\\\\.dof$"
   260 	"\\\\.layout$"
   260     "\\\\.layout$"
   261 	"\\\\.zip$"
   261     "\\\\.zip$"
   262 	"\\\\.gz$"
   262     "\\\\.gz$"
   263 	"\\\\.bz2$"
   263     "\\\\.bz2$"
   264 	"\\\\.tmp$"
   264     "\\\\.tmp$"
   265 	"\\\\.core$"
   265     "\\\\.core$"
   266 	"\\\\.sh$"
   266     "\\\\.sh$"
   267 	"\\\\.sifz$"
   267     "\\\\.sifz$"
   268 	"\\\\.svg$"
   268     "\\\\.svg$"
   269 	"\\\\.svgz$"
   269     "\\\\.svgz$"
   270 	"\\\\.ppu$"
   270     "\\\\.ppu$"
   271 	"\\\\.psd$"
   271     "\\\\.psd$"
   272 	"\\\\.o$"
   272     "\\\\.o$"
   273 	"Makefile"
   273     "Makefile"
   274 	"Doxyfile"
   274     "Doxyfile"
   275 	"CMakeFiles"
   275     "CMakeFiles"
   276 	"debug"
   276     "debug"
   277 	"release$"
   277     "release$"
   278 	"Debug$"
   278     "Debug$"
   279 	"Release$"
   279     "Release$"
   280 	"proto\\\\.inc$"
   280     "proto\\\\.inc$"
   281 	"hwconsts\\\\.cpp$"
   281     "hwconsts\\\\.cpp$"
   282 	"playlist\\\\.inc$"
   282     "playlist\\\\.inc$"
   283 	"CPack"
   283     "CPack"
   284 	"cmake_install\\\\.cmake$"
   284     "cmake_install\\\\.cmake$"
   285 	"config\\\\.inc$"
   285     "config\\\\.inc$"
   286 	"hwengine\\\\.desktop$"
   286     "hwengine\\\\.desktop$"
   287 	"CMakeCache\\\\.txt$"
   287     "CMakeCache\\\\.txt$"
   288 #	"^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
   288 #    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
   289 #	"^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype"
   289 #    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype"
   290 	"^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua"
   290     "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua"
   291 #	"^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor"
   291 #    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor"
   292 	"^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/"
   292     "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/"
   293 	"^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]"
   293     "^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]"
   294 	"^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
   294     "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
   295 	"^${CMAKE_CURRENT_SOURCE_DIR}/doc"
   295     "^${CMAKE_CURRENT_SOURCE_DIR}/doc"
   296 	"^${CMAKE_CURRENT_SOURCE_DIR}/templates"
   296     "^${CMAKE_CURRENT_SOURCE_DIR}/templates"
   297 	"^${CMAKE_CURRENT_SOURCE_DIR}/Graphics"
   297     "^${CMAKE_CURRENT_SOURCE_DIR}/Graphics"
   298 	"^${CMAKE_CURRENT_SOURCE_DIR}/realtest"
   298     "^${CMAKE_CURRENT_SOURCE_DIR}/realtest"
   299 	"^${CMAKE_CURRENT_SOURCE_DIR}/tmp"
   299     "^${CMAKE_CURRENT_SOURCE_DIR}/tmp"
   300 	"^${CMAKE_CURRENT_SOURCE_DIR}/utils"
   300     "^${CMAKE_CURRENT_SOURCE_DIR}/utils"
   301 	"^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
   301     "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
   302 	"^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal"
   302     "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal"
   303 	"^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt"
   303     "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt"
   304 	"^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt"
   304     "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt"
   305 	"^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\."
   305     "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\."
   306 )
   306 )
   307 
   307 
   308 include(CPack)
   308 include(CPack)
   309 
   309