#------------------------------------------------------------------------
# -*- mode: cmake -*-
#
# make package_source
#------------------------------------------------------------------------

CMAKE_MINIMUM_REQUIRED(VERSION 2.4)

if(POLICY CMP0048)
  cmake_policy(SET CMP0048 OLD)
endif(POLICY CMP0048)
set(PROJECT_NAME ligotools)
set(${PROJECT_NAME}_VERSION_MAJOR 1)
set(${PROJECT_NAME}_VERSION_MINOR 2)
set(${PROJECT_NAME}_VERSION_PATCH 0)
set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH})
set(PROJECT_VERSION ${${PROJECT_NAME}_VERSION})

PROJECT(${PROJECT_NAME} C)

set(PACKAGE_NAME ${PROJECT_NAME})
set(PACKAGE_VERSION ${PACKAGE_VERSION})
set(PACKAGE_URL "http://www.lsc-group.phys.uwm.edu/daswg/projects/ligotools.html")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/config/cmake/")

include(ax_macros)

#========================================================================
# Subdirectories
#========================================================================

add_subdirectory(config)
add_subdirectory(tconvert)
add_subdirectory(segments)
add_subdirectory(papers)
add_subdirectory(matlab)
add_subdirectory(cache)

#========================================================================
# Create some files necessary for specs
#========================================================================

configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/ligotools.spec.cmake.in
		${CMAKE_CURRENT_BINARY_DIR}/ligotools.spec )

#========================================================================
#
#                              C P A C K
#
# Do some configuration of cpack.
#
#========================================================================
# Common attributes
#------------------------------------------------------------------------

set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
    "This is a collection of tools used by the LIGO scientific community")
set(CPACK_PACKAGE_VENDOR "LIGO")
set(CPACK_PACKAGE_VERSION ${${PROJECT_NAME}_VERSION})
set(CPACK_SOURCE_GENERATOR TBZ2)
set(CPACK_SOURCE_PACKAGE_FILE_NAME
    ${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
set(CPACK_SYSTEM_NAME noarch)

#------------------------------------------------------------------------
# Things to ignore
#------------------------------------------------------------------------

set(CPACK_SOURCE_IGNORE_FILES
      "~$"
      ".git"
      "/#[^/]*#$"
      "/[.]#.*$"
      "tmp/"
      "ldas/"
      "^${PROJECT_SOURCE_DIR}/00boot"
      "^${PROJECT_SOURCE_DIR}/configure.ac"
      "^${PROJECT_SOURCE_DIR}/.*/Makefile.am"
)

#------------------------------------------------------------------------
# Have CPack do its magic
#------------------------------------------------------------------------

include(CPack)

#------------------------------------------------------------------------
# Add Groups
#------------------------------------------------------------------------
#------------------------------------------------------------------------
# Add Components
#------------------------------------------------------------------------
cpack_add_component(tconvert
	DESCRIPTION "Time conversion utilities")
cpack_add_component(segments
	DESCRIPTION "Segment analysis utilities")
cpack_add_component(papers
	DESCRIPTION "Text processing utilities")
cpack_add_component(matlab
	DESCRIPTION "MATLAB functions")
cpack_add_component(cache
	DESCRIPTION "Cache manipulation functions")

#========================================================================
# Testing of the packaging
#========================================================================
ax_packaging()
