QTfrontend/CMakeLists.txt
branchwebgl
changeset 8833 c13ebed437cb
parent 8444 75db7bb8dce8
parent 8688 88a6114a318c
child 9236 ddd675825672
equal deleted inserted replaced
8450:404ddce27b23 8833:c13ebed437cb
    13 find_package(Qt4 REQUIRED)
    13 find_package(Qt4 REQUIRED)
    14 include(${QT_USE_FILE})
    14 include(${QT_USE_FILE})
    15 
    15 
    16 find_package(SDL REQUIRED)       #video in SDLInteraction
    16 find_package(SDL REQUIRED)       #video in SDLInteraction
    17 find_package(SDL_mixer REQUIRED) #audio in SDLInteraction
    17 find_package(SDL_mixer REQUIRED) #audio in SDLInteraction
    18 find_package(SDL_net REQUIRED)   #network frontlib
    18 
    19 if(NOT NOVIDEOREC)
    19 if(${FFMPEG_FOUND})
    20     find_package(FFMPEG)
    20     add_definitions(-DVIDEOREC -D__STDC_CONSTANT_MACROS)
    21     if(${FFMPEG_FOUND})
    21     include_directories(${FFMPEG_INCLUDE_DIR})
    22         add_definitions(-DVIDEOREC -D__STDC_CONSTANT_MACROS)
    22     list(APPEND HW_LINK_LIBS ${FFMPEG_LIBRARIES})
    23     endif()
       
    24 endif()
    23 endif()
    25 
    24 
    26 # server messages localization
    25 # server messages localization
    27 file(GLOB ServerSources ${CMAKE_SOURCE_DIR}/gameServer/*.hs)
    26 file(GLOB ServerSources ${CMAKE_SOURCE_DIR}/gameServer/*.hs)
    28 foreach(hsfile ${ServerSources})
    27 foreach(hsfile ${ServerSources})
    54 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ui/widget)
    53 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ui/widget)
    55 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util)
    54 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util)
    56 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util/platform)
    55 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util/platform)
    57 include_directories(${SDL_INCLUDE_DIR})
    56 include_directories(${SDL_INCLUDE_DIR})
    58 include_directories(${SDLMIXER_INCLUDE_DIR})
    57 include_directories(${SDLMIXER_INCLUDE_DIR})
    59 include_directories(${FFMPEG_INCLUDE_DIR})
    58 include_directories(${PHYSFS_INCLUDE_DIR})
    60 include_directories(${CMAKE_SOURCE_DIR}/misc/physfs/src)
    59 include_directories(${PHYSLAYER_INCLUDE_DIR})
    61 include_directories(${CMAKE_SOURCE_DIR}/misc/physfs/extras)
    60 
       
    61 
    62 if(UNIX)
    62 if(UNIX)
    63     # HACK: in freebsd cannot find iconv.h included via SDL.h
    63     # HACK: in freebsd cannot find iconv.h included via SDL.h
    64     include_directories("/usr/local/include")
    64     include_directories("/usr/local/include")
    65 endif(UNIX)
    65 endif(UNIX)
    66 
       
    67 #directory for resources, relative to bindir (on linux an absolute path is always used)
       
    68 string(SUBSTRING "${SHAREPATH}" 0 1 sharepath_start)
       
    69 if(APPLE OR WIN32 OR ${sharepath_start} MATCHES "/")
       
    70     set(HEDGEWARS_DATADIR ${SHAREPATH})
       
    71 else()
       
    72     set(HEDGEWARS_DATADIR ${CMAKE_INSTALL_PREFIX}/${SHAREPATH})
       
    73 endif()
       
    74 
    66 
    75 #only the cocoa version of qt supports building 64 bit apps
    67 #only the cocoa version of qt supports building 64 bit apps
    76 if(APPLE AND (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64*") AND (NOT QT_MAC_USE_COCOA))
    68 if(APPLE AND (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64*") AND (NOT QT_MAC_USE_COCOA))
    77     message(FATAL_ERROR "Building the 64 bit version of Hedgewars *requires* the Cocoa variant of QT on Mac OS X")
    69     message(FATAL_ERROR "Building the 64 bit version of Hedgewars *requires* the Cocoa variant of QT on Mac OS X")
    78 endif()
    70 endif()
   136     HWApplication.h
   128     HWApplication.h
   137     hwform.h
   129     hwform.h
   138     team.h
   130     team.h
   139     util/DataManager.h
   131     util/DataManager.h
   140     util/LibavInteraction.h
   132     util/LibavInteraction.h
   141     util/MessageDialog.h
       
   142     )
   133     )
   143 
   134 
   144 set(hwfr_hdrs
   135 set(hwfr_hdrs
   145     ${UtilHdr}
   136     ${UtilHdr}
   146     team.h
   137     team.h
   173                          util/platform/InstallController.cpp
   164                          util/platform/InstallController.cpp
   174                          util/platform/M3Panel.mm
   165                          util/platform/M3Panel.mm
   175                          util/platform/M3InstallController.m
   166                          util/platform/M3InstallController.m
   176                          util/platform/NSWorkspace_RBAdditions.m
   167                          util/platform/NSWorkspace_RBAdditions.m
   177                          )
   168                          )
   178     if(NOT NOAUTOUPDATE)
   169     include(${CMAKE_MODULE_PATH}/utils.cmake)
   179         find_package(Sparkle)
   170     find_package_or_disable_msg(Sparkle NOAUTOUPDATE "Autoupdater will not be built.")
   180         if(SPARKLE_FOUND)
   171     if(SPARKLE_FOUND)
   181             add_definitions(-DSPARKLE_ENABLED)
   172         add_definitions(-DSPARKLE_ENABLED)
   182             list(APPEND hwfr_src util/platform/AutoUpdater.cpp
   173         list(APPEND hwfr_src util/platform/AutoUpdater.cpp
   183                                  util/platform/SparkleAutoUpdater.mm)
   174                              util/platform/SparkleAutoUpdater.mm)
   184             list(APPEND HW_LINK_LIBS ${SPARKLE_LIBRARY})
   175         list(APPEND HW_LINK_LIBS ${SPARKLE_LIBRARY})
   185         endif()
       
   186     endif()
   176     endif()
   187 endif()
   177 endif()
   188 
   178 
   189 #when debugging, always prompt a console to see fronted messages
   179 #when debugging, always prompt a console to see fronted messages
   190 #TODO: check it doesn't interfere on UNIX
   180 #TODO: check it doesn't interfere on UNIX
   207 if((UNIX AND NOT APPLE) AND ${LIBENGINE})
   197 if((UNIX AND NOT APPLE) AND ${LIBENGINE})
   208     set_target_properties(hedgewars PROPERTIES LINK_FLAGS "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}")
   198     set_target_properties(hedgewars PROPERTIES LINK_FLAGS "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}")
   209 endif()
   199 endif()
   210 
   200 
   211 list(APPEND HW_LINK_LIBS
   201 list(APPEND HW_LINK_LIBS
   212     physfs
   202     ${PHYSFS_LIBRARY}
       
   203     ${PHYSLAYER_LIBRARY}
   213     ${QT_LIBRARIES}
   204     ${QT_LIBRARIES}
   214     ${SDL_LIBRARY}
   205     ${SDL_LIBRARY}
   215     ${SDLMIXER_LIBRARY}
   206     ${SDLMIXER_LIBRARY}
   216     ${FFMPEG_LIBRARIES}
       
   217     )
   207     )
   218 
   208 
   219 if(WIN32 AND NOT UNIX)
   209 if(WIN32 AND NOT UNIX)
   220     if(NOT SDL_LIBRARY)
   210     if(NOT SDL_LIBRARY)
   221         list(APPEND HW_LINK_LIBS SDL)
   211         list(APPEND HW_LINK_LIBS SDL)