gameServer/hedgewars-server.cabal
author Vekhir
Sun, 11 Feb 2024 20:33:15 +0100
changeset 16014 e42d1819b150
parent 15917 eb52cf05e454
permissions -rw-r--r--
Revive cabal build of the game server

Name:                hedgewars-server
Version:             1.1.0
Synopsis:            hedgewars server
Description:         hedgewars server
Homepage:            https://www.hedgewars.org/
License:             GPL-2
Author:              unC0Rr
Maintainer:          a.korotaev@hedgewars.org
Category:            Game
Build-type:          Simple
Cabal-version:       >=1.10


flag officialServer
  description: Build for official server
  default:     False
  manual:      True

Executable hedgewars-server
  main-is: hedgewars-server.hs
  other-modules:
    Actions
    ClientIO
    CommandHelp
    ConfigFile
    Consts
    CoreTypes
    Data.TConfig
    EngineInteraction
    FloodDetection
    HWProtoChecker
    HWProtoCore
    HWProtoInRoomState
    HWProtoLobbyState
    HWProtoNEState
    HandlerUtils
    JoinsMonitor
    NetRoutines
    OfficialServer.DBInteraction
    Opts
    RoomsAndClients
    ServerCore
    ServerState
    Store
    Utils
    Votes

  default-language:    Haskell2010

-- Don't forget to update INSTALL.md and .travis.yml when you change these dependencies!
  Build-depends:
    base >= 4.8,
    binary >= 0.8.5.1,
    bytestring,
    containers,
    deepseq,
    entropy,
    hslogger,
    mtl >= 2,
    network >= 3.0 && < 3.2,
    network-bsd >= 2.8.1 && < 2.9,
    process,
    random,
    regex-tdfa,
    sandi,
    SHA,
    time,
    utf8-string,
    vector

-- These dependencies are for OFFICIAL_SERVER only and do not need to be mentioned in docs
  if flag(officialServer)
    build-depends:
      aeson,
      text >= 1.2,
      yaml >= 0.8.30,
      zlib >= 0.5.3 && < 0.7
    cpp-options:   -DOFFICIAL_SERVER

  if !os(windows)
    build-depends: unix

  ghc-options: -O2

Executable checker
  main-is: OfficialServer/checker.hs

  default-language:    Haskell2010

  Build-depends:
    base >= 4.8,
    containers,
    vector,
    bytestring,
    network >= 2.3,
    network-bsd,
    mtl >= 2,
    sandi,
    hslogger,
    process,
    ConfigFile,
    directory

  if !os(windows)
    build-depends: unix

  ghc-options: -O2