project(educazionik)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)

if (NOT DATA_INSTALL_DIR)
  set (DATA_INSTALL_DIR share/apps/${PROJECT_NAME})
  set (PROJECT_DATA_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR})
else (NOT DATA_INSTALL_DIR)
  set (DATA_INSTALL_DIR ${DATA_INSTALL_DIR}/${PROJECT_NAME})
  set (PROJECT_DATA_DIR ${DATA_INSTALL_DIR})
endif (NOT DATA_INSTALL_DIR)

if (NOT DESKTOP_FILE_INSTALL_DIR)
  set (DESKTOP_FILE_INSTALL_DIR share/applications)
endif (NOT DESKTOP_FILE_INSTALL_DIR)

if (NOT DOC_INSTALL_DIR)
	set (DOC_INSTALL_DIR share/doc/${PROJECT_NAME})
	set (PROJECT_DOC_DIR ${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR})
else (NOT DOC_INSTALL_DIR)
	set (DOC_INSTALL_DIR ${DOC_INSTALL_DIR}/${PROJECT_NAME})
	set (PROJECT_DOC_DIR ${DOC_INSTALL_DIR})
endif (NOT DOC_INSTALL_DIR)

if (NOT ICONS_DIR)
	set (ICONS_DIR share)
endif (NOT ICONS_DIR)

SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Educational programs for Italian primary school")
SET(CPACK_PACKAGE_VENDOR "Nicola De Filippo")

SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
# VERSION_SUFFIX value
# beta1 "-beta1"
# beta2 "-beta2"
# rc1   "-rc1"
# final "" 
SET(VERSION_SUFFIX "-rc1")

set(PROJECT_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${VERSION_SUFFIX}")

set(PACKAGE_FILE_NAME    "${PROJECT_NAME}")
set(PACKAGE_FILE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${VERSION_SUFFIX}")

IF (WIN32)
  SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_FILE_NAME}-${PACKAGE_FILE_VERSION}")
ELSE (WIN32)
  if (GENERATE)
    SET(CPACK_PACKAGE_CONTACT "Nicola De Filippo")
    SET(CPACK_RPM_PACKAGE_LICENSE GPL)
    SET(CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    if ("${VERSION_SUFFIX}" MATCHES "-beta1")
      SET(CPACK_RPM_PACKAGE_RELEASE 0.1)
    elseif ("${VERSION_SUFFIX}" MATCHES "-beta2")
      SET(CPACK_RPM_PACKAGE_RELEASE 0.2)
    elseif ("${VERSION_SUFFIX}" MATCHES "-rc1")
      SET(CPACK_RPM_PACKAGE_RELEASE 0.3)
    else ()
      SET(CPACK_RPM_PACKAGE_RELEASE 1)
    endif ()
    SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_FILE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}")
    SET(CPACK_DEBIAN_PACKAGE_NAME "${CPACK_PACKAGE_FILE_NAME}")
    SET(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}")
    SET(CPACK_GENERATOR ${GENERATE})
  else (GENERATE)
    SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_FILE_NAME}-bin-${PACKAGE_FILE_VERSION}")
    SET(CPACK_GENERATOR TBZ2 STGZ)
  endif (GENERATE)
ENDIF (WIN32)


SET(CPACK_SOURCE_IGNORE_FILES ".bzr" "build" ".bak" ".swp$" ".*~" 
                              ".svn" ".git" "CVS" "CVSROOT" ".kdev4"
                              "prepare_educazionik.rb" "release_educazionik.sh"
                              "RELEASE_HOWTO"
)
SET(CPACK_SOURCE_GENERATOR "TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE_FILE_NAME}-${PACKAGE_FILE_VERSION}")


# INCLUDE(CPack) must always be last!
INCLUDE(CPack)

set (DOC_FILES AUTHORS
               NEWS
               COPYING
               INSTALL
               README
               ChangeLog
)
MESSAGE( STATUS )
MESSAGE( STATUS "${PROJECT_NAME} ${PROJECT_VERSION}")
MESSAGE( STATUS "-------------------------------------------------------------------------------" )
MESSAGE( STATUS "DATA_INSTALL_DIR         " ${DATA_INSTALL_DIR} )
MESSAGE( STATUS "DOC_INSTALL_DIR          " ${DOC_INSTALL_DIR})
MESSAGE( STATUS "DESKTOP_FILE_INSTALL_DIR " ${DESKTOP_FILE_INSTALL_DIR})
MESSAGE( STATUS "ICONS_DIR                " ${ICONS_DIR})
MESSAGE( STATUS "CMAKE_INSTALL_PREFIX     " ${CMAKE_INSTALL_PREFIX} )
MESSAGE( STATUS "CMAKE_BUILD_TYPE         " ${CMAKE_BUILD_TYPE} )
MESSAGE( STATUS )
MESSAGE( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
MESSAGE( STATUS "-------------------------------------------------------------------------------" )
MESSAGE( STATUS )

SET (BUILD_ALL true)
add_subdirectory(common)
add_subdirectory(aggettivi)
add_subdirectory(anafrase)
add_subdirectory(anagrammi)
add_subdirectory(difficoltaortografiche)
add_subdirectory(dueaggettivi)
add_subdirectory(lessico)
add_subdirectory(scegliaggettivo)
add_subdirectory(usoh)
add_subdirectory(qexpik)

install(FILES   ${DOC_FILES} DESTINATION   ${DOC_INSTALL_DIR})

