
cmake_minimum_required (VERSION 2.6)
project (urw)

# Create dist dir
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/tarball")

set(URW_DEB_STR
    "Sat, 13 Jul 2013 12:22:13 +0300")

set(URW_RPM_STR
    "Sat, 13 Jul 2013 12:22:13 +0300")

set(URW_VERSION
    "3.17")

set(URW_RPM_VERSION
    ${URW_VERSION})

STRING(REGEX REPLACE "-" "_" URW_RPM_VERSION ${URW_RPM_VERSION} )

set(URW_ARCH_PACKAGE_DIR "${CMAKE_PROJECT_NAME}-${URW_VERSION}-x86")



# If we are in Mac or Linux do this!
IF (NOT APPLE)
  IF (NOT WIN32)
    execute_process(COMMAND sha256sum -c SHA256SUM OUTPUT_VARIABLE URW_SHA256SUM)
     execute_process(COMMAND date --rfc-822 OUTPUT_VARIABLE URW_DEB_DATE_STR)
    execute_process(COMMAND date +"%a %b %d %Y" OUTPUT_VARIABLE URW_RPM_DATE_STR)
    execute_process(COMMAND gcc -dumpmachine OUTPUT_VARIABLE URW_GCC_ARCH)
    STRING(REGEX REPLACE "\n" "" URW_GCC_ARCH ${URW_GCC_ARCH} )
    STRING(REGEX REPLACE "\n" "" URW_DEB_DATE_STR ${URW_DEB_DATE_STR} )
    STRING(REGEX REPLACE "\n" "" URW_RPM_DATE_STR ${URW_RPM_DATE_STR} )
    STRING(REGEX REPLACE "\"" "" URW_RPM_DATE_STR ${URW_RPM_DATE_STR} )
    set(URW_ARCH_PACKAGE_DIR "${CMAKE_PROJECT_NAME}-${URW_VERSION}-${URW_GCC_ARCH}")
    set(URW_DEB_DATE
        ${URW_DEB_DATE_STR})
    set(URW_RPM_DATE
        ${URW_RPM_DATE_STR})
  ENDIF(NOT WIN32)
ENDIF(NOT APPLE)

set(URW_SRC
     agriculture.cpp
     ansapyynti.cpp
     area.cpp
     audio.cpp
     crefunc.cpp
     crtplr.cpp
     culture.cpp
     datafunc.cpp
     defcreat.cpp
     elama.cpp
     encount.cpp
     enter.cpp
     fishing.cpp
     food.cpp
     harnrule.cpp
     herblore.cpp
     hyper.cpp
     itemunit.cpp
     kartta_main.cpp
     kasityo.cpp
     kohtaukset.cpp
     korkeus_main.cpp
     kylat.cpp
     maintenance.cpp
     mapunit.cpp
     marker.cpp
     movement.cpp
     nimet.cpp
     npc.cpp
     obj_func.cpp
     objunit.cpp
     olennot.cpp
     ownlib.cpp
     physical.cpp
     profile.cpp
     purku.cpp
     quit.cpp
     religion.cpp
     rndhouse.cpp
     screen.cpp
     SDL_rotozoom.c
     strupr.c
     show.cpp
     skill.cpp
     start.cpp
     taistelu.cpp
     talk.cpp
     tehtavat.cpp
     tekstit.cpp
     tilastot.cpp
     toimi.cpp
     tool.cpp
     tracking.cpp
     trajectory.cpp
     urw.cpp
     weather.cpp)

set(URW_HDRS agriculture.h
     ansapyynti.h
     area.h
     areadef.h
     area_symbol.h
     armour.cpp
     audio.h
     checkversion.h
     crefunc.h
     crtplr.h
     combata.cpp
     creature.cpp
     datafunc.h
     defined.h
     doors.h
     elama.h
     encount.h
     enter.h
     events.h
     food.h
     harnrule.h
     help.h
     herblore.h
     itemunit.h
     kasityo.h
     kulttuurit.h
     korkeus_main.h
     lukko.h
     maintenance.h
     mapdef.h
     mapunit.h
     mapdim.h
     marker.h
     movement.h
     npc.h
     obj_func.h
     objunit.h
     olennot.h
     ownlib.h
     physical.h
     purku.h
     property.cpp
     quit.h
     religion.h
     religdef.h
     screen.h
     SDL_rotozoom.h
     show.h
     skill.h
     spritechar.h
     strupr.h
     taistelu.h
     talk.h
     task.h
     tehtavat.h
     tekstit.h
     tilastot.h
     toimi.h
     tracking.h
     trajectory.h
     urwfont.h
     urwvar.h
     vital.cpp
     vld.h
     weather.h
     you.h
     zoomdefine.h
     zoomstruct.h)

set(URW_ROOT
     flora_berries.txt
     flora_cultivated.txt
     flora_herbs.txt
     flora_mushroom.txt
     flora_newherbs.txt
     biy_glossary.txt
     diy_glossary.txt
     cookery_glossary.txt
     menudef_additional.txt
     ini_skills.txt
     OLDNEWS.TXT
     news.txt
     urw_ini.txt
     eastf.dat
     eastm.dat
     northf.dat
     northm.dat
     westf.dat
     westm.dat
     NOTES.STD
     BLOODP.RIT
     FORIGIN.RIT
     FREQ.RIT
     GREET.RIT
     LOST.RIT
     NSAFE.RIT
     PIKE.RIT
     TIMBERP.RIT
     BLOODS.RIT
     FOXREQ.RIT
     FTRAP.RIT
     HUNT.RIT
     NBAN.RIT
     OIRON.RIT
     SLEEPP.RIT
     urwicon.ico
     palette.nfo
     GAME.NFO
     URW.DOC
     RNDCAMP.0
     RNDCAMP.1
     RNDCAMP.2
     RNDCAMP.3
     RNDCAMP.4
     RNDCAMP.5
     RNDCAMP.6
     RNDCAMP.7
     RNDCAMP.8
     RNDCAMP.9
     RNDCAMP.10
     URW.FNT
     linedist.arr
     urwicon.bmp
     README-SDL.txt
     TEXT.ICO 
     SHA256SUM
     CMakeLists.txt)

set(URW_GAMEINFO
    gameinfo/urw_scrinfo.txt)

set(URW_MESSAGES
    messages/guide_values.txt
    messages/urw_defs.txt
    messages/urw_pronouns.txt
    messages/urw_tags.txt
    messages/urw_combat.txt
    messages/urw_msg.txt
    messages/urw_sounds.txt
    messages/urw_uname_flora.txt)

set(URW_TRUEGFX
    truegfx/aamu.jpg
    truegfx/act_archery.jpg
    truegfx/act_bigwoodwork.jpg
    truegfx/act_climbing.jpg
    truegfx/act_dry.jpg
    truegfx/act_fallen.jpg
    truegfx/act_fireburn.jpg
    truegfx/act_firemake.jpg
    truegfx/act_fish.jpg
    truegfx/act_gotfish.jpg
    truegfx/act_harvest.jpg
    truegfx/act_hiding.jpg
    truegfx/act_physician.jpg
    truegfx/act_ritual.jpg
    truegfx/act_running.jpg
    truegfx/act_shroomharvest.jpg
    truegfx/act_sleep.jpg
    truegfx/act_standing.jpg
    truegfx/act_swimming.jpg
    truegfx/act_tanning.jpg
    truegfx/act_trapset.jpg
    truegfx/act_treefall.jpg
    truegfx/act_woodwork.jpg
    truegfx/aita.jpg
    truegfx/ansakuoppa.jpg
    truegfx/ansoittaja.jpg
    truegfx/arctic_fox.jpg
    truegfx/asumus.jpg
    truegfx/combat_skillpic.jpg
    truegfx/crtplr.jpg
    truegfx/elk.jpg
    truegfx/fox.jpg
    truegfx/framebox.jpg
    truegfx/ground_small.jpg
    truegfx/ground_talvi_small.jpg
    truegfx/hiihtaja.jpg
    truegfx/horisontti.jpg
    truegfx/ihmiset.jpg
    truegfx/ilta.jpg
    truegfx/jakalakangas_400x300.jpg
    truegfx/jakalakangas_small.jpg
    truegfx/jaljet.jpg
    truegfx/janis.jpg
    truegfx/jarvi_400x300.jpg
    truegfx/jarvi_small.jpg
    truegfx/jarvi_talvi_400x300.jpg
    truegfx/jarvi_talvi_small.jpg
    truegfx/joki_400x300.jpg
    truegfx/joki_small.jpg
    truegfx/joki_talvi_400x300.jpg
    truegfx/joki_talvi_small.jpg
    truegfx/kaarme.jpg
    truegfx/kalankuivaus.jpg
    truegfx/kangasmetsa_400x300.jpg
    truegfx/kangasmetsa_small.jpg
    truegfx/karhu.jpg
    truegfx/kid1.png
    truegfx/kirvesmies.jpg
    truegfx/kohtaaminen.jpg
    truegfx/korpi_400x300.jpg
    truegfx/korpi_small.jpg
    truegfx/koski_400x300.jpg
    truegfx/koski_small.jpg
    truegfx/koski_talvi_400x300.jpg
    truegfx/koski_talvi_small.jpg
    truegfx/kota_400x300.jpg
    truegfx/kota_small.jpg
    truegfx/kukkula_400x300.jpg
    truegfx/kulkija.jpg
    truegfx/kuusimetsa_400x300.jpg
    truegfx/kuusimetsa_small.jpg
    truegfx/kuusimetsa_talvi_400x300.jpg
    truegfx/kuusimetsa_talvi_small.jpg
    truegfx/kyla_400x300.jpg
    truegfx/kyla_small.jpg
    truegfx/lehto_400x300.jpg
    truegfx/lehto_small.jpg
    truegfx/lihankuivaus.jpg
    truegfx/lore_skillpic.jpg
    truegfx/luola_400x300.jpg
    truegfx/luola.jpg
    truegfx/luola_small.jpg
    truegfx/lynx.jpg
    truegfx/maki_400x300.jpg
    truegfx/maki_small.jpg
    truegfx/maki_talvi_400x300.jpg
    truegfx/maki_talvi_small.jpg
    truegfx/manty_400x300.jpg
    truegfx/map.jpg
    truegfx/metsa_400x300.jpg
    truegfx/metsa_small.jpg
    truegfx/metsa_talvi_400x300.jpg
    truegfx/metsa_talvi_small.jpg
    truegfx/neva_400x300.jpg
    truegfx/neva_small.jpg
    truegfx/nuotiolla.jpg
    truegfx/pelto_400x300.jpg
    truegfx/pelto_small.jpg
    truegfx/physical_skillpic.jpg
    truegfx/piilossa.jpg
    truegfx/poro.jpg
    truegfx/profile.jpg
    truegfx/puolukka_400x300.jpg
    truegfx/puukkomies.jpg
    truegfx/rajaseutu_400x300.jpg
    truegfx/rame_400x300.jpg
    truegfx/rame_small.jpg
    truegfx/rndworld.jpg
    truegfx/sarvet.jpg
    truegfx/sieni_400x300.jpg
    truegfx/soturit.jpg
    truegfx/squirrel.jpg
    truegfx/stag.jpg
    truegfx/supernatural.jpg
    truegfx/tahtitaivas.jpg
    truegfx/talja.jpg
    truegfx/talo_400x300.jpg
    truegfx/talo_small.jpg
    truegfx/taskpic.jpg
    truegfx/tuohipohja.jpg
    truegfx/uhrilahja_400x300.jpg
    truegfx/urwstar2.jpg
    truegfx/urwstart.jpg
    truegfx/villivihannes_400x300.jpg
    truegfx/vuolu.jpg
    truegfx/vuori_400x300.jpg
    truegfx/vuori_small.jpg
    truegfx/vuori_talvi_400x300.jpg
    truegfx/vuori_talvi_small.jpg
    truegfx/wolf.jpg
    truegfx/woundscreen.jpg
    truegfx/yleis_talvi_400x300.jpg
    truegfx/yleis_talvi_small.jpg
    truegfx/armour_black.png
    truegfx/armour.png
    truegfx/avatar.png
    truegfx/bigavatar.png
    truegfx/bigsprite.png
    truegfx/coursepic_1.png
    truegfx/coursepic_2.png
    truegfx/coursepic_3.png
    truegfx/coursepic_4.png
    truegfx/cursor_target.png
    truegfx/east1.png
    truegfx/east2.png
    truegfx/east3.png
    truegfx/east4.png
    truegfx/east5.png
    truegfx/east6.png
    truegfx/fem1.png
    truegfx/fem2.png
    truegfx/fem3.png
    truegfx/fem4.png
    truegfx/fem5.png
    truegfx/fem6.png
    truegfx/gfx.png
    truegfx/hirvilogo.png
    truegfx/mc_ford.png
    truegfx/nappain.png
    truegfx/north1.png
    truegfx/north2.png
    truegfx/north3.png
    truegfx/north4.png
    truegfx/north5.png
    truegfx/north6.png
    truegfx/north7.png
    truegfx/rndworld.png
    truegfx/sprite.png
    truegfx/statscr.png
    truegfx/texture_kivi.png
    truegfx/texture_savuseina.png
    truegfx/texture_tuohi.png
    truegfx/texture_vaalea.png
    truegfx/tile.png
    truegfx/tuohi.png
    truegfx/urwlogo.png
    truegfx/watercraft.png
    truegfx/west1.png
    truegfx/west2.png
    truegfx/west3.png
    truegfx/west4.png
    truegfx/west5.png
    truegfx/west6.png)

set(URW_AUDIO
    audio/arrow.wav
    audio/bark.wav
    audio/bawl.wav
    audio/bellow-a.wav
    audio/bellow-b.wav
    audio/bellow-c.wav
    audio/bird_harakka2.wav
    audio/bird_harakka.wav
    audio/bird_kapytikka.wav
    audio/bird_keltasirkku.wav
    audio/bird_leppalintu2.wav
    audio/bird_leppalintu.wav
    audio/bird_peippo2.wav
    audio/bird_peippo.wav
    audio/bird_satakieli2.wav
    audio/bird_satakieli.wav
    audio/bird_varis2.wav
    audio/bird_varis.wav
    audio/bleat-a.wav
    audio/bleat-b.wav
    audio/block.wav
    audio/burp.wav
    audio/close_door.wav
    audio/cough-a.wav
    audio/cough-b.wav
    audio/crack.wav
    audio/crawl.wav
    audio/death.wav
    audio/eat.wav
    audio/faderun.wav
    audio/fall.wav
    audio/fire.wav
    audio/growl2.wav
    audio/growl3.wav
    audio/growl.wav
    audio/grunt2.wav
    audio/grunt3.wav
    audio/grunt.wav
    audio/guffaw1.wav
    audio/guffaw2.wav
    audio/harr.wav
    audio/hit_grievous-a.wav
    audio/hit_grievous-b.wav
    audio/hit_minor-a.wav
    audio/hit_minor-b.wav
    audio/hit_npc.wav
    audio/hitplr.wav
    audio/hit_serious-a.wav
    audio/hit_serious-b.wav
    audio/kling.wav
    audio/miss.wav
    audio/open_door-a.wav
    audio/open_door-b.wav
    audio/owl2.wav
    audio/owl.wav
    audio/roar2.wav
    audio/roar.wav
    audio/run.wav
    audio/smash.wav
    audio/smear.wav
    audio/snarl.wav
    audio/snort2.wav
    audio/snort.wav
    audio/snuffle.wav
    audio/splash.wav
    audio/swing.wav
    audio/throw.wav
    audio/thump.wav
    audio/walkinside.wav
    audio/walk.wav
    audio/watersound.wav
    audio/whimper.wav
    audio/wolf2.wav
    audio/wolf.wav
    audio/yelp-a.wav
    audio/yelp-b.wav
    audio/yelp-c.wav
    audio/ambience.ogg
    audio/axework.ogg
    audio/breeze.ogg
    audio/dig.ogg
    audio/fleshwork.ogg
    audio/intro.ogg
    audio/lake.ogg
    audio/music_beat.ogg
    audio/music_birth.ogg
    audio/music_chant.ogg
    audio/music_death.ogg
    audio/music_munni.ogg
    audio/music_ritual.ogg
    audio/outro.ogg
    audio/rain.ogg
    audio/ritual2.ogg
    audio/ritual3.ogg
    audio/ritual.ogg
    audio/treefall_big.ogg
    audio/treefall_small.ogg
    audio/windfly2.ogg
    audio/windfly.ogg
    audio/wind.ogg)


set(URW_ICON
     package/icon/png/urwicon-16.png
     package/icon/png/urwicon-32.png
     package/icon/png/urwicon-48.png
     package/icon/png/urwicon-64.png
     package/icon/png/urwicon-128.png
     package/icon/png/urwicon-256.png)


set(URW_DESKTOP
     package/linux/urw.desktop)

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})


IF ( NOT APPLE )
  set(URW_SHARE_URW_PATH "share/urw3")
  set(URW_SHARE_PATH "share")
  set(URW_BIN_PATH "bin")
ELSE ( NOT APPLE )
  set(URW_SHARE_URW_PATH .)
  set(URW_SHARE_PATH .)
  set(URW_BIN_PATH .)
ENDIF( NOT APPLE )

add_executable(urw3-bin ${URW_SRC})


install(FILES ${URW_ROOT}
        DESTINATION ${URW_SHARE_URW_PATH})

install(FILES ${URW_GAMEINFO}
        DESTINATION ${URW_SHARE_URW_PATH}/gameinfo)

install(FILES ${URW_MESSAGES}
        DESTINATION ${URW_SHARE_URW_PATH}/messages)

install(FILES ${URW_TRUEGFX}
        DESTINATION ${URW_SHARE_URW_PATH}/truegfx)

install(FILES ${URW_AUDIO}
        DESTINATION ${URW_SHARE_URW_PATH}/audio)

install(TARGETS urw3-bin
        DESTINATION ${URW_BIN_PATH})

install(PROGRAMS package/linux/urw
        DESTINATION ${URW_BIN_PATH})

set( URW_DIST
     ${URW_SRC}
     ${URW_HDRS}
     ${URW_ROOT}
     ${URW_AUDIO}
     ${URW_GAMEINFO}
     ${URW_MESSAGES}
     ${URW_TRUEGFX})


#
# Find needed SDL. In future we should test versions are correct!
#
find_package (SDL REQUIRED)
find_package (SDL_image REQUIRED)
find_package (SDL_mixer REQUIRED)
# find_package (CURL REQUIRED)

if (SDL_FOUND)
  IF (CMAKE_COMPILER_IS_GNUCXX AND WIN32)
     target_link_libraries (urw3-bin "-lmingw32")
  ENDIF (CMAKE_COMPILER_IS_GNUCXX AND WIN32)

  include_directories(${SDL_INCLUDE_DIR})
  target_link_libraries (urw3-bin ${SDLMAIN_LIBRARY} ${SDL_LIBRARY})
else ()
  message("Can't find libSDL. Adding it by hand!")
  target_link_libraries (urw3-bin "-lSDL_main -lSDL")
endif (SDL_FOUND)

if (SDL_MIXER_FOUND)
  include_directories(${SDL_MIXER_INCLUDE_DIR})
  target_link_libraries (urw3-bin ${SDL_MIXER_LIBRARY})
else ()
  message("Can't find libSDL_mixer. Adding it by hand!")
  target_link_libraries (urw3-bin "-lSDL_mixer")
endif (SDL_MIXER_FOUND)

if (SDL_IMAGE_FOUND)
  include_directories(${SDL_IMAGE_INCLUDE_DIR})
  target_link_libraries (urw3-bin ${SDL_IMAGE_LIBRARY})
else ()
  message("Can't find libSDL_image. Adding it by hand!")
  target_link_libraries (urw3-bin "-lSDL_image")
endif (SDL_IMAGE_FOUND)

#if (CURL_FOUND)
#  include_directories(${CURL_DIR})
#  target_link_libraries (urw3-bin ${CURL_LIBRARY})
#else ()
#  message("Can't find CURL. Adding it by hand!")
#  target_link_libraries (urw3-bin "-lcurl")
#endif (CURL_FOUND)



#
# Same stuff in Linux/Mac OS X
#

# See more info: http://cmake.org/Wiki/CMake_Useful_Variables
IF (CMAKE_COMPILER_IS_GNUCXX)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-write-strings -g -Os")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wuninitialized -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -funsigned-char -Wno-uninitialized -Wno-format -fpermissive")
  
  IF ( WIN32 )
     target_link_libraries (urw3-bin "-mwindows")
  ENDIF ( WIN32 )

  IF (NOT APPLE)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-result")
     # Configure packaging
     configure_file(${PROJECT_BINARY_DIR}/package/linux-urw.dsc.in
     "${PROJECT_BINARY_DIR}/package/linux-urw.dsc" @ONLY)

     configure_file(${PROJECT_BINARY_DIR}/package/linux-urw.spec.in
     "${PROJECT_BINARY_DIR}/package/linux-urw.spec" @ONLY)

     configure_file(${PROJECT_BINARY_DIR}/package/debian/changelog.in
     "${PROJECT_BINARY_DIR}/package/debian/changelog" @ONLY)

     configure_file(${PROJECT_BINARY_DIR}/package/debian/files.in
     "${PROJECT_BINARY_DIR}/package/debian/files" @ONLY)

     configure_file(${PROJECT_BINARY_DIR}/package/linux/create-ubuntu-tar.sh.in
     "${PROJECT_BINARY_DIR}/package/linux/create-ubuntu-tar.sh" @ONLY)

     install(FILES ${URW_ICON} 
             DESTINATION ${URW_SHARE_PATH}/pixmaps)

     install(FILES ${URW_DESKTOP}
             DESTINATION ${URW_SHARE_PATH}/applications)

  else (NOT APPLE)
     # set(CMAKE_OSX_ARCHITECTURES "i386;x86_64")

     # These can be made other wise??
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isysroot /Developer/SDKs/MacOSX10.5.sdk")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch i386 -arch x86_64 -mmacosx-version-min=10.5")
     set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
     target_link_libraries (urw3-bin "-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -isysroot /Developer/SDKs/MacOSX10.5.sdk")
     # target_link_libraries (urw3-bin "-Wl,-rpath,@loader_path/../Frameworks /Library/Frameworks/SDL.framework/devel-lite/SDLMain.m -I${SDL_INCLUDE_DIR}")
     target_link_libraries (urw3-bin "-arch i386 -arch x86_64")
     target_link_libraries (urw3-bin "-mmacosx-version-min=10.5 /Library/Frameworks/SDL.framework/devel-lite/SDLMain.m -I${SDL_INCLUDE_DIR}")
     target_link_libraries (urw3-bin "-Wl,-rpath,@loader_path/../Frameworks")

     # Remove un needed stuff from CFLAGS
     STRING(REGEX REPLACE "-fpermissive" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS} )

     configure_file(${PROJECT_BINARY_DIR}/package/mac/Info.plist.in
     "${PROJECT_BINARY_DIR}/package/mac/Info.plist" @ONLY)

     # Search from these paths all needed Frameworks     
     list( APPEND URW_SEARCH_LIST "/Library/Frameworks/")
     list( APPEND URW_SEARCH_LIST "/Library/Frameworks/SDL_mixer.framework/Frameworks")
     list( APPEND URW_SEARCH_LIST "/Library/Frameworks/SDL_image.framework/Frameworks")

     ## Name for Apple DMG     
     set(URW_ARCH_PACKAGE_DIR "${CMAKE_PROJECT_NAME}-${URW_VERSION}")
  ENDIF (NOT APPLE)

ENDIF()

#
# CPack.. make package
#
IF (NOT WIN32)
  set(CPACK_GENERATOR "TGZ")
  set(CPACK_SOURCE_GENERATOR "TGZ")

  IF (APPLE)
    set(CPACK_GENERATOR
        "Bundle")
  ENDIF(APPLE)

ELSE (NOT WIN32)
  set(CPACK_GENERATOR "ZIP")
  set(CPACK_SOURCE_GENERATOR "ZIP")
ENDIF(NOT WIN32)

set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
# set(CPACK_SET_DESTDIR TRUE)
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Tuukka Pasanen <pasanen.tuukka@gmail.com>")
set(CPACK_PACKAGE_VENDOR "Sami Maaranen <urw@iki.fi>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "UnReal World RPG ${URW_VERSION}")
set(CPACK_PACKAGE_VERSION ${URW_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR "3")
set(CPACK_PACKAGE_VERSION_MINOR "17")
set(CPACK_PACKAGE_VERSION_PATCH "beta4")

IF (APPLE)
  set(CPACK_PACKAGE_ICON "package/icon/icns/urwicon.icns")
  set(CPACK_BUNDLE_NAME "UrW")
  set(CPACK_BUNDLE_ICON "package/icon/icns/urwicon.icns")
  set(CPACK_BUNDLE_PLIST "package/mac/Info.plist")
  set(CPACK_BUNDLE_STARTUP_COMMAND "package/linux/urw")
ENDIF (APPLE)

SET(CPACK_PACKAGE_INSTALL_DIRECTORY 
    "urw-${URW_VERSION}")

set(CPACK_PACKAGE_FILE_NAME
    ${URW_ARCH_PACKAGE_DIR})

set(CPACK_SOURCE_PACKAGE_FILE_NAME
    "${CMAKE_PROJECT_NAME}_${URW_VERSION}")

# set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)

#set(CPACK_SOURCE_INSTALLED_DIRECTORIES
#    "${CMAKE_BINARY_DIR};/${CPACK_SOURCE_PACKAGE_FILE_NAME}")

set(CPACK_SOURCE_INSTALLED_DIRECTORIES
    "${CMAKE_BINARY_DIR};/"
    "${CMAKE_BINARY_DIR}/package/debian;debian")


IF (APPLE)

      # Install needed Frameworks..
      # In future do this same in Windows and Linux!
      INSTALL(CODE "
             include(BundleUtilities)
             fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/urw3-bin\" \"\" \"${URW_SEARCH_LIST}\")
             " COMPONENT Runtime)

ENDIF (APPLE)

set( CPACK_SOURCE_IGNORE_FILES
     ".*~$"
     ".svn$"
     ".*tar.gz$"
     ".*zip$"
     "/_CPack_Packages/"
     "/CPackSourceConfig.cmake$"
     "/CPackConfig.cmake$"
     "/CMakeCache.txt$"
     "/CMakeFiles/"
     "/Makefile*$"
     "/cmake_install.cmake$"
     "/tarball/"
     "/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}/"
     "/GFX.NFO$"
    "/GAME\ text\ polished.NFO$"
     "/audio/audio_mix.lib$"
     "/540.bmp$"
     "/capture.bmp$"
     "/RNDHOUSE.DAT$"
     "/regpack_*.urw$")


#
# TOOOOO MUCH!
#set( CPACK_SOURCE_IGNORE_FILES
#     ".*~$"
#     ".git$"
#     ".svn$"
#     ".*tar.gz$"
#     ".*tar.bz2$"
#     ".*tar.Z$"
#     ".*dmg$"
#     ".*oxx$"
#     ".*o$"
#     ".*Po$"
#     ".*dmg$"
#     ".*md5sum$"
#     "/*debug*$"
#     "/err$"
#     "/_CPack_Packages/"
#     "/CPackSourceConfig.cmake$"
#     "/CPackConfig.cmake$"
#     "/CMakeCache.txt$"
#     "/CMakeFiles/"
#     "/Makefile*$"
#     "/cmake_install.cmake$"
#     ".*sh$"
#     "/obj-*/"
#     "/tarball/"
#     "/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}/"
#     "/GFX.NFO$"
#     "/GAME\ text\ polished.NFO$"
#     "/audio/audio_mix.lib$"
#     "/540.bmp$"
#     "/capture.bmp$"
#     "/RNDHOUSE.DAT$"
#     "/regpack_*.urw$")



include(CPack)

