
# cmake helps to compile "beads"
# please install the cmake package depending on your linux distribution
# and type in the beads root directory :
# cmake .
# make
# make install
cmake_minimum_required(VERSION 2.6)


# The name of our project is "beads".  CMakeLists files in this project can
# refer to the root source directory of the project as ${beads_SOURCE_DIR} and
# to the root binary directory of the project as ${beads_BINARY_DIR}.
PROJECT(beads CXX C)


#message ("compiler : ${CMAKE_CXX_COMPILER} ")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

#IF ( CMAKE_BASE_NAME MATCHES "cl")
#	message ("on est sous Windows")
#	SET( WIN32 "true")
#ENDIF(CMAKE_BASE_NAME MATCHES "cl")

if (NOT CMAKE_BUILD_TYPE)
  SET( CMAKE_BUILD_TYPE "Release")
ENDIF(NOT CMAKE_BUILD_TYPE)

if (NOT CMAKE_INSTALL_PREFIX)
	SET (CMAKE_INSTALL_PREFIX /usr/local)
ENDIF(NOT CMAKE_INSTALL_PREFIX)


IF ( CMAKE_BUILD_TYPE MATCHES "Release")
	MESSAGE("compiling as release version")
	ADD_DEFINITIONS("-DQT_NO_DEBUG_OUTPUT")
ELSE ( CMAKE_BUILD_TYPE MATCHES "Release" )
	MESSAGE("compiling as debug version")
ENDIF( CMAKE_BUILD_TYPE MATCHES "Release" )



#SET(WIN32 "true")
#SET(MINGW "true")

#set(CMAKE_MODULE_PATH ${beads_SOURCE_DIR}/cmake_modules)

#IF ( PTHREADS_FOUND )
#	INCLUDE_DIRECTORIES ( ${PTHREADS_INCLUDE_DIR} )
#ELSE ( PTHREADS_FOUND )
#	MESSAGE( FATAL_ERROR "No pthread installed" )
#ENDIF( PTHREADS_FOUND )



SET ( EXTRA_CIMG_LIBRARY "")

SET ( CIMG_OS 0)
IF(WIN32)
	SET ( CIMG_OS 2)
	#-O2 -lgdi32
	#SET ( EXTRA_CIMG_LIBRARY "gdi32")
	#SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
#	FIND_PACKAGE(FindMagick REQUIRED)
ELSE(WIN32)
	#FIND_PACKAGE(Pthreads REQUIRED)
	SET(CMAKE_CXX_FLAGS_RELEASE "-s -O3 -DNDEBUG")
	SET ( CIMG_OS 1)
ENDIF(WIN32)

#
#CMAKE_CXX_FLAGS
SET(CMAKE_CXX_FLAGS_DEBUG "-g -s")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")

SET (BEADS_VERSION "1.1.18")

SET(CPACK_CMAKE_GENERATOR "Unix Makefiles")
SET(CPACK_GENERATOR "STGZ;TGZ;TZ")
#SET(CPACK_INSTALL_CMAKE_PROJECTS "/tmp;beads;src;/src")
#SET(CPACK_NSIS_DISPLAY_NAME "CMake 2.5")
SET(CPACK_OUTPUT_CONFIG_FILE "./CPackConfig.cmake")
SET(CPACK_PACKAGE_DESCRIPTION_FILE ${beads_SOURCE_DIR}/COPYING)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "beads is a detection software")
SET(CPACK_PACKAGE_EXECUTABLES "beads")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "beads-${BEADS_VERSION}")
SET(CPACK_PACKAGE_FILE_NAME "beads-${BEADS_VERSION}-Linux-i686")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "beads ${BEADS_VERSION}")
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "beads ${BEADS_VERSION}")
SET(CPACK_PACKAGE_NAME "beads")
SET(CPACK_PACKAGE_VENDOR "CNRS")

IF ( CMAKE_BUILD_TYPE MATCHES "Debug")
	SET (BEADS_VERSION "${BEADS_VERSION}d")
ENDIF( CMAKE_BUILD_TYPE MATCHES "Debug")
SET(CPACK_PACKAGE_VERSION ${BEADS_VERSION})
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "15")
SET(CPACK_RESOURCE_FILE_LICENSE ${beads_SOURCE_DIR}/COPYING)
SET(CPACK_RESOURCE_FILE_README ${beads_SOURCE_DIR}/README)
SET(CPACK_RESOURCE_FILE_WELCOME ${beads_SOURCE_DIR}/INSTALL)
SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
SET(CPACK_SOURCE_OUTPUT_CONFIG_FILE "./CPackSourceConfig.cmake")
SET(CPACK_SYSTEM_NAME "Linux-i686")
SET(CPACK_TOPLEVEL_TAG "Linux-i686")

SET(CPACK_SOURCE_IGNORE_FILES 
	"moc_.*cxx"
	"/devel_archives/"
	"/build/"
	"/buildw64/"
	"/cbuild/"
	"/figures/"
	".*\\\\.so"
	".*\\\\.a"
	"/Soumis/"
	"/samples/"
	"/win32/"
	"/tests/"
	"Makefile"
	"install_manifest.txt"
	"cmake_install.cmake"
	"cmake_install.cmake"
	"CMakeCache.txt"
	"CPackConfig.cmake"
	"CPackSourceConfig.cmake"
	"install_manifest.txt"
	".gitignore"
	"/CMakeFiles/"
	"/_CPack_Packages/"
	"/Debug/"
	"/Release/"
	"/\\\\.externalToolBuilders/"
	"/\\\\.git/"
	"/\\\\.settings/"
	"Makefile"
	"\\\\.cdtbuild"
	"\\\\.cdtproject"
	"\\\\.project"
	"\\\\.cproject"
	"beads$"
	".*\\\\.tar\\\\.gz"
)
# cpack -G TGZ --config CPackSourceConfig.cmake
# dpkg-buildpackage -rfakeroot

#.dput.cf
#[olivier-langella]
#fqdn = ppa.launchpad.net
#method = ftp
#incoming = ~olivier-langella/ubuntu/
#login = olivier-langella
#allow_unsigned_uploads = 0
#
#  debuild -S -sa
# dput -f olivier-langella *changes





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


configure_file (${beads_SOURCE_DIR}/src/config.h.cmake ${beads_SOURCE_DIR}/src/config.h)


SET(CPACK_PACKAGE_EXECUTABLES "beads" "beads")


INCLUDE(CPack)


#INCLUDE(CPack)




# Recurse into the "src" subdirectories.  This does not actually
# cause another cmake executable to run.  The same process will walk through
# the project's entire directory structure.
#ADD_DEFINITIONS( -lpthread)
add_subdirectory (src)

#SET(CPACK_STRIP_FILES "src/beads;src/qtbeads/qtbeads")

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/beads DESTINATION bin)
INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/qtbeads/qtbeads DESTINATION bin)
#INSTALL(DIRECTORY doc/man1 DESTINATION share/man/man1)
INSTALL(FILES doc/man1/beads.1 DESTINATION share/man/man1)
INSTALL(FILES share/applications/beads.desktop DESTINATION share/applications)
INSTALL(FILES share/beads/beads_blue.conf DESTINATION share/beads)
INSTALL(FILES share/beads/beads_silver.conf DESTINATION share/beads)
INSTALL(FILES share/beads/beads_silver_small.conf DESTINATION share/beads)
INSTALL(FILES share/beads/beads_icon.svg DESTINATION share/beads)

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


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