QTfrontend/CMakeLists.txt
author unc0rr
Sat, 24 Sep 2011 00:00:57 +0400
changeset 5996 2c72fe81dd37
parent 5973 94abd65e7d4f
child 5997 a9495e0bd418
permissions -rw-r--r--
Convert boolean variable + a bunch of fields which make sense only while game is going on into Maybe + structure
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
     1
# Configure for Qt4
4320
8af00b86a38c bumping qt minimum version
koda
parents: 3708
diff changeset
     2
set(QT_MIN_VERSION "4.5.0")
260
2208405af6c6 Minimal QT 4 version supported is 4.2.0
unc0rr
parents: 241
diff changeset
     3
502
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 495
diff changeset
     4
set(QT_USE_QTCORE TRUE)
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 495
diff changeset
     5
set(QT_USE_QTGUI TRUE)
494
503758a35c02 Use right way of finding and using Qt4 in CMake
unc0rr
parents: 477
diff changeset
     6
set(QT_USE_QTNETWORK TRUE)
2525
e6cdc0251cd1 remove the svg dependency
koda
parents: 2515
diff changeset
     7
set(QT_USE_QTSVG FALSE)
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2421
diff changeset
     8
set(QT_USE_QTXML FALSE)
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2421
diff changeset
     9
set(QT_USE_QTOPENGL FALSE)
494
503758a35c02 Use right way of finding and using Qt4 in CMake
unc0rr
parents: 477
diff changeset
    10
set(QT_USE_QTMAIN TRUE)
503758a35c02 Use right way of finding and using Qt4 in CMake
unc0rr
parents: 477
diff changeset
    11
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
    12
find_package(Qt4 REQUIRED)
1159
49c88f620e51 Various build system improvements
unc0rr
parents: 1043
diff changeset
    13
include(${QT_USE_FILE})
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
    14
5879
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    15
# Check if we need zlib
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    16
check_library_exists(${QT_QTCORE_LIBRARY} inflateInit2_ ${QT_LIBRARY_DIR} QT_PROVIDES_ZLIB_FUNCTIONS)
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    17
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    18
if(NOT QT_PROVIDES_ZLIB_FUNCTIONS)
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    19
    find_package(ZLIB REQUIRED)
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    20
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    21
    set(HW_LINK_LIBS ${ZLIB_LIBRARIES} ${HW_LINK_LIBS})
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    22
endif()
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    23
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
    24
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
    25
# Configure for SDL
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
    26
find_package(SDL REQUIRED)
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2443
diff changeset
    27
find_package(SDL_mixer REQUIRED)
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
    28
2239
d7b5c65f7544 move C and C++ optimization flags in the main CMakeLists.txt
koda
parents: 2230
diff changeset
    29
include_directories(.)
707
0a00c16022ca Try to fix SDL problem
unc0rr
parents: 653
diff changeset
    30
include_directories(${SDL_INCLUDE_DIR})
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2443
diff changeset
    31
include_directories(${SDLMIXER_INCLUDE_DIR})
5754
583b7a683b17 - Implement progressbars to show download progress
unc0rr
parents: 5338
diff changeset
    32
include_directories(${CMAKE_SOURCE_DIR}/misc/quazip)
1159
49c88f620e51 Various build system improvements
unc0rr
parents: 1043
diff changeset
    33
if(UNIX)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    34
    # HACK: in freebsd cannot find iconv.h included via SDL.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    35
    include_directories("/usr/local/include")
1159
49c88f620e51 Various build system improvements
unc0rr
parents: 1043
diff changeset
    36
endif(UNIX)
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
    37
1904
20348675b015 - Fix warnings in frontend
unc0rr
parents: 1881
diff changeset
    38
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
    39
if(WIN32 AND NOT UNIX)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    40
    set(HEDGEWARS_BINDIR ".")
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    41
    set(HEDGEWARS_DATADIR "../share/")
3694
3e9c0634065c new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents: 3344
diff changeset
    42
        add_definitions(-DUSE_XFIRE)
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
    43
else()
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    44
    set(HEDGEWARS_BINDIR ${CMAKE_INSTALL_PREFIX})
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    45
    if(DEFINED DATA_INSTALL_DIR)
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    46
        set(HEDGEWARS_DATADIR ${DATA_INSTALL_DIR})
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    47
    else()
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    48
        set(HEDGEWARS_DATADIR ${CMAKE_INSTALL_PREFIX}/share/)
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    49
    endif()
5188
d0461bd6d45b some updates to the crossbuild system for mac
koda
parents: 5078
diff changeset
    50
    #only the cocoa version of qt supports building 64 bit apps
d0461bd6d45b some updates to the crossbuild system for mac
koda
parents: 5078
diff changeset
    51
    if(APPLE AND (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64*") AND (NOT QT_MAC_USE_COCOA))
d0461bd6d45b some updates to the crossbuild system for mac
koda
parents: 5078
diff changeset
    52
        message(FATAL_ERROR "Building the 64 bit version of Hedgewars *requires* the Cocoa variant of QT on Mac OS X")
d0461bd6d45b some updates to the crossbuild system for mac
koda
parents: 5078
diff changeset
    53
    endif()
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2652
diff changeset
    54
endif()
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
    55
2239
d7b5c65f7544 move C and C++ optimization flags in the main CMakeLists.txt
koda
parents: 2230
diff changeset
    56
2219
07f5345ecae7 additional variable (BUNDLE) to make a standalone Mac application
koda
parents: 2218
diff changeset
    57
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hwconsts.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/hwconsts.cpp)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
    58
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    59
set(hwfr_src
5252
ded882439548 file association for mac!
koda
parents: 5205
diff changeset
    60
    HWApplication.cpp
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    61
    game.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    62
    main.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    63
    hwform.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    64
    team.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    65
    namegen.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    66
    teamselect.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    67
    teamselhelper.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    68
    frameTeam.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    69
    vertScrollArea.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    70
    gameuiconfig.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    71
    ui_hwform.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    72
    gamecfgwidget.cpp
5078
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    73
    pagemain.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    74
    pageeditteam.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    75
    pagemultiplayer.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    76
    pageoptions.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    77
    pagenet.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    78
    pagenetserver.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    79
    pagenetgame.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    80
    pageinfo.cpp
5268
eedc0f8ed38b Small stub web view that I'm hoping to use in conjunction with ~/.hedgewars/Data - I'd like to link to a page on hedgewars.org, intercept linkClicked, fetch zip files, then unpack the structure under Data. Just checking this in so it doesn't clutter up project. Also tidied up the .pro a bit, even though we aren't really using it for much anymore. Should in theory be able to do a build now.
nemo
parents: 5252
diff changeset
    81
    pagedata.cpp
5078
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    82
    pagesingleplayer.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    83
    pagetraining.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    84
    pagecampaign.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    85
    pageselectweapon.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    86
    pageingame.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    87
    pageroomslist.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    88
    pageconnecting.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    89
    pagescheme.cpp
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    90
    pagegamestats.cpp
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    91
    pageplayrecord.cpp
5078
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    92
    pageadmin.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    93
    pagenettype.cpp
3527f0e7bb21 Removing pages.cpp and splitting it up into various files.
Zorg <zorgiepoo@gmail.com>
parents: 5019
diff changeset
    94
    pagedrawmap.cpp
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    95
    SquareLabel.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    96
    hats.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    97
    hedgehogerWidget.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    98
    hwmap.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
    99
    mapContainer.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   100
    tcpBase.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   101
    about.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   102
    proto.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   103
    fpsedit.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   104
    netserver.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   105
    newnetclient.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   106
    netudpserver.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   107
    netudpwidget.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   108
    netregister.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   109
    netserverslist.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   110
    chatwidget.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   111
    binds.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   112
    SDLs.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   113
    ${CMAKE_CURRENT_BINARY_DIR}/hwconsts.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   114
    selectWeapon.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   115
    itemNum.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   116
    input_ip.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   117
    igbox.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   118
    weaponItem.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   119
    misc.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   120
    ammoSchemeModel.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   121
    togglebutton.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   122
    bgwidget.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   123
    achievements.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   124
    qaspectratiolayout.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   125
    drawmapwidget.cpp
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   126
    drawmapscene.cpp
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5268
diff changeset
   127
    themesmodel.cpp
5755
a079b4dea081 Implement DataBrowser which downloads resources (images, css) on its own.
unc0rr
parents: 5754
diff changeset
   128
    databrowser.cpp
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   129
    )
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   130
2821
67815ee123d7 Frontend:
smxx
parents: 2663
diff changeset
   131
#xfire integration
67815ee123d7 Frontend:
smxx
parents: 2663
diff changeset
   132
if(WIN32)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   133
    set(hwfr_src ${hwfr_src} xfire.cpp ../misc/xfire/xfiregameclient.cpp)
2821
67815ee123d7 Frontend:
smxx
parents: 2663
diff changeset
   134
endif(WIN32)
67815ee123d7 Frontend:
smxx
parents: 2663
diff changeset
   135
880
f9efe907828f Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents: 781
diff changeset
   136
if(MINGW)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   137
    # resource compilation for mingw
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   138
    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   139
    COMMAND windres -I ${CMAKE_CURRENT_SOURCE_DIR}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   140
    -i ${CMAKE_CURRENT_SOURCE_DIR}/hedgewars.rc
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   141
    -o ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o)
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   142
    set(hwfr_src ${hwfr_src} ${CMAKE_CURRENT_BINARY_DIR}/hedgewars_rc.o)
880
f9efe907828f Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents: 781
diff changeset
   143
else(MINGW)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   144
    set(hwfr_src ${hwfr_src} hedgewars.rc)
880
f9efe907828f Add win32 resource compilation under mingw (used sim-im srcs as example)
unc0rr
parents: 781
diff changeset
   145
endif(MINGW)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   146
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   147
set(hwfr_moc_hdrs
5252
ded882439548 file association for mac!
koda
parents: 5205
diff changeset
   148
    HWApplication.h
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   149
    game.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   150
    hats.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   151
    hwform.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   152
    teamselect.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   153
    teamselhelper.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   154
    frameTeam.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   155
    vertScrollArea.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   156
    gameuiconfig.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   157
    gamecfgwidget.h
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
   158
    AbstractPage.h
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   159
    pagenet.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   160
    pagemultiplayer.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   161
    pagenetserver.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   162
    pageingame.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   163
    pagetraining.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   164
    pageeditteam.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   165
    pageoptions.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   166
    pagemain.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   167
    pageinfo.h
5268
eedc0f8ed38b Small stub web view that I'm hoping to use in conjunction with ~/.hedgewars/Data - I'd like to link to a page on hedgewars.org, intercept linkClicked, fetch zip files, then unpack the structure under Data. Just checking this in so it doesn't clutter up project. Also tidied up the .pro a bit, even though we aren't really using it for much anymore. Should in theory be able to do a build now.
nemo
parents: 5252
diff changeset
   168
    pagedata.h
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   169
    pagesingleplayer.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   170
    pagenettype.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   171
    pageconnecting.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   172
    pagedrawmap.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   173
    pagecampaign.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   174
    pagenetgame.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   175
    pageroomslist.h
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
   176
    pagegamestats.h
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   177
    pageadmin.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   178
    pagescheme.h
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5188
diff changeset
   179
    pageselectweapon.h
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
   180
    pageplayrecord.h
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   181
    SquareLabel.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   182
    hedgehogerWidget.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   183
    hwmap.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   184
    mapContainer.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   185
    tcpBase.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   186
    about.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   187
    proto.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   188
    fpsedit.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   189
    netserver.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   190
    newnetclient.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   191
    netudpserver.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   192
    netudpwidget.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   193
    netregister.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   194
    netserverslist.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   195
    chatwidget.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   196
    SDLs.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   197
    selectWeapon.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   198
    itemNum.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   199
    input_ip.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   200
    igbox.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   201
    weaponItem.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   202
    misc.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   203
    ammoSchemeModel.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   204
    togglebutton.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   205
    bgwidget.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   206
    qaspectratiolayout.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   207
    drawmapwidget.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   208
    drawmapscene.h
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5268
diff changeset
   209
    themesmodel.h
5755
a079b4dea081 Implement DataBrowser which downloads resources (images, css) on its own.
unc0rr
parents: 5754
diff changeset
   210
    databrowser.h
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   211
    )
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   212
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   213
set(hwfr_hdrs
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   214
    binds.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   215
    ui_hwform.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   216
    KB.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   217
    hwconsts.h
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   218
    )
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   219
2218
59a9bebc4988 -Smaxx' solution for compiling frontend with static libs in windows
koda
parents: 2212
diff changeset
   220
set(hwfr_rez hedgewars.qrc)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   221
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2525
diff changeset
   222
qt4_add_resources(hwfr_rez_src ${hwfr_rez})
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   223
2641
b08cafb86797 some tweaks in the mac compilation system
koda
parents: 2525
diff changeset
   224
qt4_wrap_cpp(hwfr_moc_srcs ${hwfr_moc_hdrs})
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   225
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   226
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   227
if(APPLE)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   228
    set(hwfr_src ${hwfr_src} InstallController.cpp CocoaInitializer.mm M3Panel.mm M3InstallController.m NSWorkspace_RBAdditions.m)
5879
42cf124c305b This should check if Qt provides zlib functions, and adds zlib dependency in case of zlibless Qt. Tested with Qt providing zlib functions only.
unc0rr
parents: 5808
diff changeset
   229
    set(HW_LINK_LIBS IOKit ${HW_LINK_LIBS})
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   230
4775
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   231
    if(NOT NOAUTOUPDATE)
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   232
        find_package(Sparkle)
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   233
        if(SPARKLE_FOUND)
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   234
            add_definitions(-DSPARKLE_ENABLED)
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   235
            set(hwfr_src ${hwfr_src} AutoUpdater.cpp SparkleAutoUpdater.mm)
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   236
            set(HW_LINK_LIBS ${SPARKLE_LIBRARY} ${HW_LINK_LIBS})
663aa9552bfc add NOAUTOUPDATE symbol and hedgewars-server.cabal
koda
parents: 4520
diff changeset
   237
        endif()
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   238
    endif()
2652
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   239
endif()
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   240
67d0344aea9f still updates for mac compilation
koda
parents: 2641
diff changeset
   241
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   242
add_executable(hedgewars WIN32
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   243
    ${hwfr_src}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   244
    ${hwfr_moc_srcs}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   245
    ${hwfr_hdrs}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   246
    ${hwfr_rez_src}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   247
    )
2191
20c62f787a4d koda's OpenAL conversion:
unc0rr
parents: 2015
diff changeset
   248
2218
59a9bebc4988 -Smaxx' solution for compiling frontend with static libs in windows
koda
parents: 2212
diff changeset
   249
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   250
set(HW_LINK_LIBS
5790
75ffa050c4f9 Fix link again (changed libraries order)
unc0rr
parents: 5757
diff changeset
   251
    quazip
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   252
    ${QT_LIBRARIES}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   253
    ${SDL_LIBRARY}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   254
    ${SDLMIXER_LIBRARY}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   255
    ${HW_LINK_LIBS}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   256
    )
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   257
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   258
if(WIN32 AND NOT UNIX)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   259
    if(NOT SDL_LIBRARY)
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   260
        set(HW_LINK_LIBS ${HW_LINK_LIBS} SDL)
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   261
    endif()
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 539
diff changeset
   262
5757
5bf89dbf3547 Link against quazip
unc0rr
parents: 5755
diff changeset
   263
    set(HW_LINK_LIBS
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   264
        ${HW_LINK_LIBS}
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   265
        ole32
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   266
        oleaut32
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   267
        winspool
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   268
        uuid
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4410
diff changeset
   269
        )
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2652
diff changeset
   270
endif()
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 177
diff changeset
   271
2218
59a9bebc4988 -Smaxx' solution for compiling frontend with static libs in windows
koda
parents: 2212
diff changeset
   272
5808
84a075cea647 Replace tab with space
unc0rr
parents: 5790
diff changeset
   273
target_link_libraries(hedgewars ${HW_LINK_LIBS})
2218
59a9bebc4988 -Smaxx' solution for compiling frontend with static libs in windows
koda
parents: 2212
diff changeset
   274
495
62c1c2b4414c - Fix most of the warnings in hwengine
unc0rr
parents: 494
diff changeset
   275
2015
d2848d723690 koda's patch
unc0rr
parents: 2012
diff changeset
   276
install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir})
2218
59a9bebc4988 -Smaxx' solution for compiling frontend with static libs in windows
koda
parents: 2212
diff changeset
   277