CMakeLists.txt
author koda
Wed, 02 Jan 2013 11:11:49 +0100
branchwebgl
changeset 8340 46a9fde631f4
parent 8334 abb48dd39e26
child 8444 75db7bb8dce8
permissions -rw-r--r--
install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
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
5407
486231e82e8d typo and spaces
koda
parents: 5405
diff changeset
     3
#initialise cmake environment
8104
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
     4
cmake_minimum_required(VERSION 2.6.0)
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
     5
foreach(hwpolicy CMP0003 CMP0012 CMP0017)
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
     6
    if(POLICY ${hwpolicy})
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
     7
        cmake_policy(SET ${hwpolicy} NEW)
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
     8
    endif()
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
     9
endforeach()
8087
ccc99eebdac2 little cmake cleanup, search installed modules first, then our own
koda
parents: 8082
diff changeset
    10
#use available modules, fallback to ours if not present (CMP0017 helps)
ccc99eebdac2 little cmake cleanup, search installed modules first, then our own
koda
parents: 8082
diff changeset
    11
set(CMAKE_MODULE_PATH "${CMAKE_ROOT}/Modules" "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
5405
5b17e1b3e0d5 better variable grouping...
koda
parents: 5223
diff changeset
    12
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    13
8104
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
    14
#usually this is set at release time
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
    15
option(NOREVISION "Build Hedgewars without revision information [default: off]" OFF)
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
    16
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
    17
#set other default values
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    18
option(NOSERVER "Disable gameServer build [default: auto]" OFF)
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    19
option(NOPNG "Disable screenshoot compression [default: auto]" OFF)
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    20
option(NOVIDEOREC "Disable video recording [default: auto]" OFF)
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    21
8096
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
    22
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
    23
option(WEBGL "Enable WebGL build (implies NOPASCAL) [default: off]" OFF)
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
    24
option(NOPASCAL "Compile hwengine as native C [default: off]" ${WEBGL})
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
    25
option(LIBENGINE "Enable hwengine library [default: off]" OFF)
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
    26
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    27
option(ANDROID "Enable Android build [default: off]" OFF)
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    28
option(NOAUTOUPDATE "Disable OS X Sparkle update checking" OFF)
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    29
option(MINIMAL_FLAGS "Respect system flags as much as possible [default: off]" OFF)
8334
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    30
option(GL2 "Enable OpenGL 2 rendering [default: off]" OFF)
8313
31d6613989a6 remove FPFLAGS and GHFLAGS from cache every time
koda
parents: 8283
diff changeset
    31
set(FPFLAGS "" CACHE STRING "Additional Freepascal flags" FORCE)
31d6613989a6 remove FPFLAGS and GHFLAGS from cache every time
koda
parents: 8283
diff changeset
    32
set(GHFLAGS "" CACHE STRING "Additional Haskell flags" FORCE)
1107
ee873ada9e86 Supress CMake warning
unc0rr
parents: 1074
diff changeset
    33
8104
09c38cdf380d show console on win when debugging to see frontend messages
koda
parents: 8093
diff changeset
    34
4252
13ec087713dd raised version number
koda
parents: 4098
diff changeset
    35
#detect Mercurial revision (if present)
8340
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    36
if(NOT ${NOREVISION})
7709
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
    37
    set(default_build_type "DEBUG")
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    38
    set(version_suffix "-development_version")
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    39
    set(HW_DEV true)
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    40
    find_program(HGCOMMAND hg)
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    41
    if(HGCOMMAND AND (EXISTS ${CMAKE_SOURCE_DIR}/.hg))
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    42
        execute_process(COMMAND ${HGCOMMAND} identify -in
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    43
                        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    44
                        OUTPUT_VARIABLE internal_version
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    45
                        ERROR_QUIET
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    46
                    )
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    47
        #check local repo status
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    48
        string(REGEX REPLACE "[^+]" "" HGCHANGED ${internal_version})
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    49
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    50
        string(REGEX REPLACE "[0-9a-zA-Z]+(.*) ([0-9]+)(.*)" "\\2" revision_number ${internal_version})
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    51
        string(REGEX REPLACE "([0-9a-zA-Z]+)(.*) [0-9]+(.*)" "\\1" revision_hash ${internal_version})
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    52
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    53
        message(STATUS "Building revision ${revision_number} from hash ${revision_hash} ${HGCHANGED}")
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    54
        if(HGCHANGED)
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
    55
            MESSAGE(WARNING "Notice: you have uncommitted changes in your repository")
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    56
        endif()
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    57
        set(version_suffix "-${revision_number}${HGCHANGED}")
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    58
    endif()
8340
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    59
else(NOT ${NOREVISION})
7709
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
    60
    set(default_build_type "RELEASE")
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 8089
diff changeset
    61
    set(HWDEV false)
8146
1fba650c2aa4 GCI2012: Lowercase CMake functions (main files only)
m4tx
parents: 8104
diff changeset
    62
    message(STATUS "Building distributable version")
8340
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    63
endif(NOT ${NOREVISION})
2672
0f1403bf267a check for sdl_image and sdl_mixer versions
koda
parents: 2671
diff changeset
    64
1107
ee873ada9e86 Supress CMake warning
unc0rr
parents: 1074
diff changeset
    65
5405
5b17e1b3e0d5 better variable grouping...
koda
parents: 5223
diff changeset
    66
#versioning
5407
486231e82e8d typo and spaces
koda
parents: 5405
diff changeset
    67
set(CPACK_PACKAGE_VERSION_MAJOR 0)
486231e82e8d typo and spaces
koda
parents: 5405
diff changeset
    68
set(CPACK_PACKAGE_VERSION_MINOR 9)
7960
99d5af6997dd bad koda
nemo
parents: 7933
diff changeset
    69
set(CPACK_PACKAGE_VERSION_PATCH 19${version_suffix})
99d5af6997dd bad koda
nemo
parents: 7933
diff changeset
    70
set(HEDGEWARS_PROTO_VER 44)
5407
486231e82e8d typo and spaces
koda
parents: 5405
diff changeset
    71
set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
8113
0ad9c42dca7c Refactor Clang module.
Bryan Dunsmore <dunsmoreb@gmail.com>
parents: 8111
diff changeset
    72
set(required_clang_version 3.0)
8111
4307de8780fa Move version check of Clang to CMakeLists.
Bryan Dunsmore <dunsmoreb@gmail.com>
parents: 8102
diff changeset
    73
4307de8780fa Move version check of Clang to CMakeLists.
Bryan Dunsmore <dunsmoreb@gmail.com>
parents: 8102
diff changeset
    74
8340
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    75
if (${NOPASCAL})
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    76
    find_package(Clang)
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    77
    # Check LLVM/Clang version
8334
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    78
	if (CLANG_VERSION VERSION_LESS required_clang_version)
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    79
		message(FATAL_ERROR "LLVM/Clang compiler required version is ${REQUIRED_CLANG_VERSION} but version ${CLANG_VERSION} was found!")
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    80
	else()
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    81
		message(STATUS "Found CLANG: ${CLANG_EXECUTABLE} (version ${CLANG_VERSION})")
abb48dd39e26 Added shaders and -GL2 option
Michael Hartman <omh1280@gmail.com>
parents: 8330
diff changeset
    82
	endif()
8340
46a9fde631f4 install shaders only when needed, find clang only when needed, fix building on windows, better cmake boolean vars
koda
parents: 8334
diff changeset
    83
endif(${NOPASCAL})
5405
5b17e1b3e0d5 better variable grouping...
koda
parents: 5223
diff changeset
    84
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
    85
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    86
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    87
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    88
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    89
if(UNIX AND NOT APPLE)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    90
    set(target_binary_install_dir "bin")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    91
    set(target_library_install_dir "lib")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    92
    if(DEFINED DATA_INSTALL_DIR)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    93
        set(SHAREPATH "${DATA_INSTALL_DIR}")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    94
    else()
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    95
        set(SHAREPATH "share/hedgewars/")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    96
    endif()
7718
97ba379164ec use cmake OPTION for arguments and further cleanup on CMakeFiles
koda
parents: 7709
diff changeset
    97
else()
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    98
    set(target_binary_install_dir "./")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
    99
8317
ec9f94ab2737 remove the CROSSAPPLE option until a better solution is found
koda
parents: 8316
diff changeset
   100
    if(APPLE)
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   101
        set(CMAKE_INSTALL_PREFIX "Hedgewars.app/Contents/MacOS/")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   102
        set(SHAREPATH "../Resources/")
8317
ec9f94ab2737 remove the CROSSAPPLE option until a better solution is found
koda
parents: 8316
diff changeset
   103
        set(target_library_install_dir "../Frameworks/")
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   104
    else()
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   105
        if(WIN32)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   106
            set(target_library_install_dir "./")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   107
            set(SHAREPATH "./")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   108
            set(CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/misc/winutils/")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   109
            link_directories("${EXECUTABLE_OUTPUT_PATH}" "${CMAKE_SOURCE_DIR}/misc/winutils/bin")
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   110
        endif(WIN32)
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   111
    endif()
7256
5b97b9946cde CROSSAPPLE ftw
koda
parents: 7233
diff changeset
   112
endif()
5b97b9946cde CROSSAPPLE ftw
koda
parents: 7233
diff changeset
   113
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   114
7256
5b97b9946cde CROSSAPPLE ftw
koda
parents: 7233
diff changeset
   115
if(APPLE)
5b97b9946cde CROSSAPPLE ftw
koda
parents: 7233
diff changeset
   116
    set(CMAKE_FIND_FRAMEWORK "FIRST")
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3677
diff changeset
   117
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   118
    #what system are we building for
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   119
    set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET})
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3677
diff changeset
   120
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   121
    #detect on which system we are: if sw_vers cannot be found for any reason (re)use minimum_macosx_version
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   122
    find_program(sw_vers sw_vers)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   123
    if(sw_vers)
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   124
        execute_process(COMMAND ${sw_vers} "-productVersion"
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   125
                        OUTPUT_VARIABLE current_macosx_version
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   126
                        OUTPUT_STRIP_TRAILING_WHITESPACE)
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   127
        string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version})
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   128
    else()
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   129
        if(NOT minimum_macosx_version)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   130
            message(FATAL_ERROR "sw_vers not found! Need explicit MACOSX_DEPLOYMENT_TARGET variable set")
7114
e0110a1229b7 add NOPNG to cmake to explicitly disable PNG dependency
koda
parents: 7113
diff changeset
   131
        else()
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   132
            message(WARNING "sw_vers not found! Fallback to MACOSX_DEPLOYMENT_TARGET variable")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   133
            set(current_macosx_version ${minimum_macosx_version})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   134
        endif()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   135
    endif()
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   136
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   137
    #if nothing is set, we deploy only for the current system
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   138
    if(NOT minimum_macosx_version)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   139
        set(minimum_macosx_version ${current_macosx_version})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   140
    endif()
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   141
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   142
    #lower systems don't have enough processing power anyway
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   143
    if (minimum_macosx_version VERSION_LESS "10.4")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   144
        message(FATAL_ERROR "Hedgewars is not supported on Mac OS X pre-10.4")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   145
    endif()
2929
dd4efe601bc6 restore tiger 10.4 deployment
koda
parents: 2834
diff changeset
   146
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   147
    #workaround for http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html#SDL_mixer (Update 2)
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   148
    if(current_macosx_version VERSION_EQUAL "10.4")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   149
        find_package(SDL_mixer REQUIRED)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   150
        set(DYLIB_SMPEG "-dylib_file @loader_path/Frameworks/smpeg.framework/Versions/A/smpeg:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   151
        set(DYLIB_MIKMOD "-dylib_file @loader_path/Frameworks/mikmod.framework/Versions/A/mikmod:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   152
        set(pascal_flags "-k${DYLIB_SMPEG}" "-k${DYLIB_MIKMOD}" ${pascal_flags})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   153
        set(CMAKE_C_FLAGS "${DYLIB_SMPEG}" "${DYLIB_MIKMOD}" ${CMAKE_C_FLAGS})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   154
    endif()
7114
e0110a1229b7 add NOPNG to cmake to explicitly disable PNG dependency
koda
parents: 7113
diff changeset
   155
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   156
    #CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_SYSROOT need to be set for universal binary and correct linking
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   157
    if(NOT CMAKE_OSX_ARCHITECTURES)
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   158
        if(current_macosx_version VERSION_LESS "10.6")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   159
            if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   160
                set(CMAKE_OSX_ARCHITECTURES "ppc7400")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   161
            else()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   162
                set(CMAKE_OSX_ARCHITECTURES "i386")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   163
            endif()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   164
        else()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   165
            set(CMAKE_OSX_ARCHITECTURES "x86_64")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   166
        endif()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   167
    endif()
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4904
diff changeset
   168
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   169
    #CMAKE_OSX_SYSROOT is set at the system version we are supposed to build on
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   170
    #we need to provide the correct one when host and target differ
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   171
    if(NOT ${minimum_macosx_version} VERSION_EQUAL ${current_macosx_version})
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   172
        if(minimum_macosx_version VERSION_EQUAL "10.4")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   173
            set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   174
            set(CMAKE_C_COMPILER "gcc-4.0")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   175
            set(CMAKE_CXX_COMPILER "g++-4.0")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   176
        else()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   177
            string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   178
            set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   179
        endif()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   180
    endif()
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2629
diff changeset
   181
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   182
    #add user framework directory, other paths can be passed via FPFLAGS
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   183
    set(pascal_flags "-Ff~/Library/Frameworks" ${pascal_flags})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   184
    #set deployment target
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   185
    set(pascal_flags "-k-macosx_version_min" "-k${minimum_macosx_version}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_flags})
5188
d0461bd6d45b some updates to the crossbuild system for mac
koda
parents: 5173
diff changeset
   186
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   187
    #silly libav that always brings in VideoDecoderAcceleration, avaible only from 10.6.3
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   188
    if(NOT NOVIDEOREC AND ${minimum_macosx_version} VERSION_LESS "10.6")
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   189
        set(WARNING "Video recording support before OS X 10.6 is experimental")
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   190
    endif()
2015
d2848d723690 koda's patch
unc0rr
parents: 2005
diff changeset
   191
endif(APPLE)
d2848d723690 koda's patch
unc0rr
parents: 2005
diff changeset
   192
2406
2e757b32991e cmake optimizations and simplification
koda
parents: 2401
diff changeset
   193
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   194
#when build type is not specified, assume Debug/Release according to build version information
7709
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   195
if (CMAKE_BUILD_TYPE)
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   196
    string (TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   197
    if ( NOT( (CMAKE_BUILD_TYPE MATCHES "RELEASE") OR (CMAKE_BUILD_TYPE MATCHES "DEBUG") ) )
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   198
        set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Choose the build type, options are: Debug Release." FORCE)
7709
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   199
        message (STATUS "Unknown build type, using default (${default_build_type})")
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   200
    endif ()
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   201
else (CMAKE_BUILD_TYPE)
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   202
    set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Choose the build type, options are: Debug Release." FORCE)
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   203
endif (CMAKE_BUILD_TYPE)
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   204
7944
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   205
#set default flags values for all projects (unless MINIMAL_FLAGS is true)
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   206
if(NOT MINIMAL_FLAGS)
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   207
    set(CMAKE_C_FLAGS "-pipe")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   208
    set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   209
    set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   210
    set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   211
    set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   212
    set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   213
else()
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   214
    #CMake adds a lot of additional configuration flags, so let's clear them up
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   215
    set(CMAKE_C_FLAGS_RELEASE "")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   216
    set(CMAKE_C_FLAGS_DEBUG "-Wall -DDEBUG")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   217
    set(CMAKE_CXX_FLAGS_RELEASE "")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   218
    set(CMAKE_CXX_FLAGS_DEBUG "-Wall -DDEBUG")
a94f4ef5ba2b play nicer with system flags
hasufell
parents: 7933
diff changeset
   219
endif()
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   220
7397
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   221
#parse additional parameters
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   222
if(FPFLAGS OR GHFLAGS)
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   223
    set(cmake_version "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   224
    if(cmake_version VERSION_LESS "2.8")
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   225
        message(WARNING "FPFLAGS and GHFLAGS are available only when using CMake >= 2.8")
7397
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   226
    else()
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   227
        separate_arguments(fpflags_parsed UNIX_COMMAND ${FPFLAGS})
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   228
        separate_arguments(ghflags_parsed UNIX_COMMAND ${GHFLAGS})
7397
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   229
    endif()
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   230
endif()
833fc211ca2d allow FPFLAGS and GHFLAGS only in cmakes able to support them
koda
parents: 7264
diff changeset
   231
8283
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   232
set(pascal_flags ${fpflags_parsed}              # user flags
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   233
                 "-vm4079,4080,4081"            # fpc output format
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   234
                 "-B"                           # compile all units
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   235
                 "-FE${PROJECT_BINARY_DIR}/bin" # fpc output directory
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   236
                 "-Fl${PROJECT_BINARY_DIR}/bin" # fpc linking directory
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   237
                 "-Cs2000000"                   # stack size
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   238
                 "-vewnq"                       # fpc output verbosity
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   239
                 "-dDEBUGFILE"                  # macro for engine output
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   240
                 ${pascal_flags}                # adding to list
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   241
                 )
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   242
set(haskell_flags "-O2" ${ghflags_parsed} ${haskell_flags})
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   243
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   244
#get BUILD_TYPE and enable/disable optimisation
8279
c03d64969112 less linking needed, raise minimum_osx_version when videorec is enabled
koda
parents: 8272
diff changeset
   245
message(STATUS "Using ${CMAKE_BUILD_TYPE} configuration")
7709
631852904cee only accept RELASE and DEBUG build type configuration
koda
parents: 7705
diff changeset
   246
if(CMAKE_BUILD_TYPE MATCHES "DEBUG")
7820
c1b491e03362 Restore -gv, limit points to template dimensions
nemo
parents: 7819
diff changeset
   247
    set(pascal_flags "-O-" "-g" "-gl" "-gv" ${pascal_flags})
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   248
    set(haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind" ${haskell_flags})
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   249
else()
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   250
#    set(pascal_flags "-O3" "-OpPENTIUM4" "-CfSSE3" "-Xs" "-Si" ${pascal_flags})
8272
93d8c77a13e8 removing the optimisation that caused (most likely) the lua crashes on osx
koda
parents: 8223
diff changeset
   251
    set(pascal_flags "-Os" "-Xs" "-Si" ${pascal_flags})
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   252
    set(haskell_flags "-w" "-fno-warn-unused-do-bind" ${haskell_flags})
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   253
endif()
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   254
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2573
diff changeset
   255
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   256
#Haskell compiler discovery (for server and engine in c)
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   257
if((NOT NOSERVER) OR NOPASCAL)
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   258
    if(GHC)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   259
        set(ghc_executable ${GHC})
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   260
    else()
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   261
        find_program(ghc_executable ghc)
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   262
    endif()
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4904
diff changeset
   263
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   264
    if(ghc_executable)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   265
        exec_program(${ghc_executable} ARGS "-V" OUTPUT_VARIABLE ghc_version_long)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   266
        string(REGEX REPLACE ".*([0-9]+\\.[0-9]+\\.[0-9]+)" "\\1" ghc_version "${ghc_version_long}")
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   267
        message(STATUS "Found GHC: ${ghc_executable} (version ${ghc_version})")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   268
    else()
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   269
        message(STATUS "Could NOT find GHC, needed by gameServer and pas2c")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   270
    endif()
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   271
endif()
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   272
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   273
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   274
#check gameServer
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   275
if((ghc_executable) AND (NOT NOSERVER) AND (NOT WEBGL))
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   276
    set(HAVE_NETSERVER true)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   277
    add_subdirectory(gameServer)
7223
b554726ff468 uniform NOPNG and NOSERVER cmake symbols
koda
parents: 7220
diff changeset
   278
else()
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   279
    message(STATUS "Skipping gameServer target")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   280
    set(HAVE_NETSERVER false)
7223
b554726ff468 uniform NOPNG and NOSERVER cmake symbols
koda
parents: 7220
diff changeset
   281
endif()
1415
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1370
diff changeset
   282
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   283
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   284
#lua discovery
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 7030
diff changeset
   285
find_package(Lua)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   286
if(LUA_FOUND AND (NOT WEBGL))
7817
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
   287
    message(STATUS "Found LUA: ${LUA_DEFAULT}")
7223
b554726ff468 uniform NOPNG and NOSERVER cmake symbols
koda
parents: 7220
diff changeset
   288
else()
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   289
    message(STATUS "Using internal LUA library")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   290
    add_subdirectory(misc/liblua)
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   291
    #linking with liblua.a requires system readline
7704
b25add2fdfa6 slight tweak to lua linking (that will break everything, i'm sure)
koda
parents: 7397
diff changeset
   292
    set(pascal_flags "-k${EXECUTABLE_OUTPUT_PATH}/lib${LUA_LIBRARY}.a" "-k-lreadline" ${pascal_flags})
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 7030
diff changeset
   293
endif()
7223
b554726ff468 uniform NOPNG and NOSERVER cmake symbols
koda
parents: 7220
diff changeset
   294
7705
15f5d3cd35c6 force a DEBUG build when HW_DEV is true, some CMakeLists.txt cleanup/commenting
koda
parents: 7704
diff changeset
   295
8283
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   296
#physfs library (static on unix, dll on win32)
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   297
add_subdirectory(misc/physfs)
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   298
if(NOT WIN32)
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   299
    set(pascal_flags "-k${LIBRARY_OUTPUT_PATH}/libphysfs.a" ${pascal_flags})
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   300
endif()
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   301
af97cdbb7713 cmake verbosity/documentation/cleanup/formatting
koda
parents: 8279
diff changeset
   302
8093
2286a39140da moar cmake cleanup, use message(WARNING ...) where appropriate
koda
parents: 8090
diff changeset
   303
#frontend library
8078
ea7541f77944 Start port to frontlib
unc0rr
parents: 8073
diff changeset
   304
add_subdirectory(project_files/frontlib)
ea7541f77944 Start port to frontlib
unc0rr
parents: 8073
diff changeset
   305
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4904
diff changeset
   306
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   307
if(NOPASCAL)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   308
    if (NOT ghc_executable)
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   309
        message(FATAL_ERROR "A Haskell compiler is required to build engine in C")
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   310
    endif()
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   311
    #pascal to c converter
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   312
    add_subdirectory(tools/pas2c)
7999
bb503cd46516 add a few cmakefiles for c engine and rtl
koda
parents: 7995
diff changeset
   313
    add_subdirectory(project_files/hwc)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   314
else()
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   315
    #main pascal engine
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   316
    add_subdirectory(hedgewars)
6025
cac1d5601d7c reviewed the build system and parts of the previous merge, performed some code cleanup
koda
parents: 6023
diff changeset
   317
endif()
5381
8f95038f3f75 Removed protocol check, using CMake now to setup the building scripts using Templates/* removed old scripts
Xeli
parents: 5223
diff changeset
   318
7993
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   319
if(WEBGL)
5b5083dc6837 split WEBGL and NOPASCAL cmake options
koda
parents: 7973
diff changeset
   320
    #WEBGL deps
8096
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
   321
else(WEBGL)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   322
    #Android related build scripts
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   323
    if(ANDROID)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   324
        add_subdirectory(project_files/Android-build)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   325
    endif()
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   326
8102
20ef5bf0dc7f update var name
koda
parents: 8096
diff changeset
   327
    #TODO: when ANDROID, LIBENGINE should be set
8096
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
   328
    if(NOT ANDROID)
7973
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   329
        add_subdirectory(bin)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   330
        add_subdirectory(QTfrontend)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   331
        add_subdirectory(share)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   332
        add_subdirectory(tools)
afb67e34a6b5 add CMakeFile for pas2c, add WEBGL config option
koda
parents: 7933
diff changeset
   333
    endif()
8096
453917e94e55 updated branch
koda
parents: 8044 8093
diff changeset
   334
endif(WEBGL)
2203
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
   335
6bd39d75e0dd -Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents: 2200
diff changeset
   336
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   337
5405
5b17e1b3e0d5 better variable grouping...
koda
parents: 5223
diff changeset
   338
# CPack variables
3338
dee9beba85cc patch by raptor (polished by me) to allow tiger/xcode24 compilation
koda
parents: 3306
diff changeset
   339
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy")
2827
45817d8386c7 Engine:
smxx
parents: 2822
diff changeset
   340
set(CPACK_PACKAGE_VENDOR "Hedgewars Project")
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   341
set(CPACK_PACKAGE_FILE_NAME "hedgewars-${HEDGEWARS_VERSION}")
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 904
diff changeset
   342
set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${HEDGEWARS_VERSION}")
1459
cf6fa7c9cf45 Fix generator name (TBZ2 instead of BZ2)
unc0rr
parents: 1458
diff changeset
   343
set(CPACK_SOURCE_GENERATOR "TBZ2")
1173
70b0acd4548c Revert accidental nsis installer generator regression
unc0rr
parents: 1159
diff changeset
   344
set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars")
458
5880af7b530a Fix build
unc0rr
parents: 360
diff changeset
   345
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
   346
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}")
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   347
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   348
if(WIN32 AND NOT UNIX)
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   349
    set(CPACK_NSIS_DISPLAY_NAME "Hedgewars")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   350
    set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   351
    set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   352
    set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   353
    set(CPACK_NSIS_MODIFY_PATH OFF)
8316
89232b2fa1d6 cmake rework, cleanup a lot of redundant sections, separate library and binary install location, unify osx and win handling of the data directory (tested on win, lin and mac)
koda
parents: 8313
diff changeset
   354
    set(CPACK_NSIS_EXECUTABLES_DIRECTORY "${target_binary_install_dir}")
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   355
    set(CPACK_GENERATOR "ZIP;NSIS")
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   356
    set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars")
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   357
else(WIN32 AND NOT UNIX)
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   358
    set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine")
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   359
endif(WIN32 AND NOT UNIX)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   360
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   361
set(CPACK_SOURCE_IGNORE_FILES
7220
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   362
    "~"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   363
    "\\\\.hg"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   364
    "\\\\.svn"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   365
    "\\\\.exe$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   366
    "\\\\.a$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   367
    "\\\\.dll$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   368
    "\\\\.xcf$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   369
    "\\\\.cxx$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   370
    "\\\\.db$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   371
    "\\\\.dof$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   372
    "\\\\.layout$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   373
    "\\\\.zip$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   374
    "\\\\.gz$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   375
    "\\\\.bz2$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   376
    "\\\\.tmp$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   377
    "\\\\.core$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   378
    "\\\\.sh$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   379
    "\\\\.sifz$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   380
    "\\\\.svg$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   381
    "\\\\.svgz$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   382
    "\\\\.ppu$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   383
    "\\\\.psd$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   384
    "\\\\.o$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   385
    "Makefile"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   386
    "Doxyfile"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   387
    "CMakeFiles"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   388
    "debug"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   389
    "release$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   390
    "Debug$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   391
    "Release$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   392
    "proto\\\\.inc$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   393
    "hwconsts\\\\.cpp$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   394
    "playlist\\\\.inc$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   395
    "CPack"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   396
    "cmake_install\\\\.cmake$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   397
    "config\\\\.inc$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   398
    "hwengine\\\\.desktop$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   399
    "CMakeCache\\\\.txt$"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   400
#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   401
#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   402
    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   403
#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   404
    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   405
    "^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   406
    "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   407
    "^${CMAKE_CURRENT_SOURCE_DIR}/doc"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   408
    "^${CMAKE_CURRENT_SOURCE_DIR}/templates"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   409
    "^${CMAKE_CURRENT_SOURCE_DIR}/Graphics"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   410
    "^${CMAKE_CURRENT_SOURCE_DIR}/realtest"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   411
    "^${CMAKE_CURRENT_SOURCE_DIR}/tmp"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   412
    "^${CMAKE_CURRENT_SOURCE_DIR}/utils"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   413
    "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   414
    "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   415
    "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   416
    "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt"
dfe678f129e4 sed 's/\t/ /g' CMakeLists.txt
koda
parents: 7114
diff changeset
   417
    "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\."
584
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   418
)
f381705f1aeb Some stuff to get good results from make 'package_source'
unc0rr
parents: 546
diff changeset
   419
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 123
diff changeset
   420
include(CPack)
5407
486231e82e8d typo and spaces
koda
parents: 5405
diff changeset
   421