
# Global parameters
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(mseater CXX)


SET(SOFTWARE_NAME "MS-Eater")

SET(MSEATER_VERSION_MAJOR "0")
SET(MSEATER_VERSION_MINOR "3")
SET(MSEATER_VERSION_PATCH "5")
SET(MSEATER_VERSION "${MSEATER_VERSION_MAJOR}.${MSEATER_VERSION_MINOR}.${MSEATER_VERSION_PATCH}")

# Set the CMAKE_PREFIX_PATH for the find_library fonction when using non
# standard install location
IF(CMAKE_INSTALL_PREFIX)
  SET(CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX}" ${CMAKE_PREFIX_PATH})
ENDIF(CMAKE_INSTALL_PREFIX)

# Packager
SET(CPACK_PACKAGE_NAME "ms-eater")
SET(CPACK_PACKAGE_VENDOR "PAPPSO Development Team")
SET(CPACK_PACKAGE_VERSION "${MSEATER_VERSION}")
SET(CPACK_PACKAGE_VERSION_MAJOR "${MSEATER_VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${MSEATER_VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${MSEATER_VERSION_PATCH}")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "various mass spectrometry and proteomics tools")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
SET(CPACK_RESOURCE_FILE_AUTHORS "${CMAKE_SOURCE_DIR}/AUTHORS")
SET(CPACK_RESOURCE_FILE_INSTALL "${CMAKE_SOURCE_DIR}/INSTALL")
SET(CPACK_SOURCE_GENERATOR "TGZ")
SET(CPACK_SOURCE_IGNORE_FILES
 "CMakeFiles"
 "Makefile"
 "_CPack_Packages"
 "CMakeCache.txt"
 ".*\\\\.git"
 ".*\\\\.gz"
 ".*\\\\.deb"
 ".*\\\\.rpm"
 ".*\\\\.dmg"
 ".*\\\\..*\\\\.swp"
 "src/\\\\..*"
 "src/libbpp*"
 "debian/tmp"
 "debian/libbpp.*/"
 "debian/libbpp.*\\\\.so.*"
 "debian/libbpp.*\\\\.a"
 "debian/libbpp.*\\\\.substvars"
 "debian/libbpp.*\\\\.debhelper"
 "debian/debhelper\\\\.log"
 "build/"
 "html"
 "Core.tag"
 "Testing"
 "build-stamp"
 "install_manifest.txt"
 "DartConfiguration.tcl"
 ${CPACK_SOURCE_IGNORE_FILES}
)



#dch -Djessie "message"
#cmake ..
#make deb
# scp ms-eater* proteus.moulon.inra.fr:/var/www/apt/incoming
# reprepro -Vb /var/www/apt processincoming default
#

SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
SET(CPACK_DEBSOURCE_PACKAGE_FILE_NAME "lib${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.orig")
INCLUDE(CPack)

#This adds the 'dist' target
ADD_CUSTOM_TARGET(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
# 'clean' is not (yet) a first class target. However, we need to clean the directories before building the sources:
IF("${CMAKE_GENERATOR}" MATCHES "Make")
  ADD_CUSTOM_TARGET(make_clean
  COMMAND ${CMAKE_MAKE_PROGRAM} clean
  WORKING_DIRECTORY ${CMAKE_CURRENT_DIR}
  )
  ADD_DEPENDENCIES(dist make_clean)
ENDIF()

IF (UNIX)
#This creates deb packages:



	add_custom_target(targz
		cpack -G TGZ --config CPackSourceConfig.cmake && tar xvfz ${CPACK_PACKAGE_NAME}-${MSEATER_VERSION}.tar.gz
		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
		COMMENT "Creating .tar.gz" VERBATIM
	)


	add_custom_target(deb
		cd ${CPACK_PACKAGE_NAME}-${MSEATER_VERSION} && dpkg-buildpackage
		DEPENDS targz
		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
		COMMENT "Creating Debian package" VERBATIM
	)

	file(GLOB changesdebs "${CMAKE_BINARY_DIR}/${CPACK_PACKAGE_NAME}_*.dsc")

	message ("changes debian file : ${changesdeb}")
	#lintian -IEi --pedantic tandem-mass_2013.06.15-1_amd64.changes
	add_custom_target(lintian
		lintian -IEi --pedantic ${changesdeb}
		DEPENDS deb
		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
		COMMENT "lintian check" VERBATIM
	)

ENDIF()


configure_file (${CMAKE_SOURCE_DIR}/src/version.cmake ${CMAKE_SOURCE_DIR}/src/version.py @ONLY)
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/bin/ms-eater ${CMAKE_CURRENT_BINARY_DIR}/bin/ms-eater @ONLY)
configure_file (${CMAKE_SOURCE_DIR}/templates/share/applications/ms-eater.desktop.cmake ${CMAKE_BINARY_DIR}/templates/share/applications/ms-eater.desktop)


INSTALL(FILES ${CMAKE_SOURCE_DIR}/doc/images/ms-eater.svg DESTINATION share/ms-eater)

INSTALL(FILES ${CMAKE_BINARY_DIR}/templates/share/applications/ms-eater.desktop DESTINATION share/applications)

#INSTALL python script
FILE(GLOB pythonbin  "${CMAKE_CURRENT_SOURCE_DIR}/src/*.py")
#INSTALL(PROGRAMS ${pythonbin} DESTINATION bin)
INSTALL(FILES ${pythonbin} DESTINATION lib/ms-eater)

#INSTALL Parser
FILE(GLOB pythonparser  "${CMAKE_CURRENT_SOURCE_DIR}/src/Parser/*.py")
#INSTALL(PROGRAMS ${pythonbin} DESTINATION bin)
INSTALL(FILES ${pythonparser} DESTINATION lib/ms-eater/Parser)



#INSTALL python script
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/bin/ms-eater DESTINATION bin)
