cmake_minimum_required(VERSION 2.4)

# Next four lines is syntax currently needed as is for con-dev
project(example-project)
SET(EXAMPLE_PROJECT_VERSION_MAJOR 0)
SET(EXAMPLE_PROJECT_VERSION_MINOR 1)
SET(EXAMPLE_PROJECT_VERSION_PATCH 0)

# Set some project variables
set(PACKAGE "\"example_project\"")
set(PACKAGE_NAME "\"example_project\"")
set(PACKAGE_STRING "\"example_project ${EXAMPLE_PROJECT_VERSION_MAJOR}.${EXAMPLE_PROJECT_VERSION_MINOR}.${EXAMPLE_PROJECT_VERSION_PATCH}\"")
set(PACKAGE_TARNAME "\"example_project\"")
set(PACKAGE_VERSION "\"${EXAMPLE_PROJECT_VERSION_MAJOR}.${EXAMPLE_PROJECT_VERSION_MINOR}.${EXAMPLE_PROJECT_VERSION_PATCH}\"")
set(VERSION "\"${EXAMPLE_PROJECT_VERSION_MAJOR}.${EXAMPLE_PROJECT_VERSION_MINOR}.${EXAMPLE_PROJECT_VERSION_PATCH}\"")

# To find config.h, and our own library in compilations
include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/src)

# Subdirs to run
add_subdirectory(src/example-project)
add_subdirectory(src/main)

# CPack configuration: con-dev currently only supports "foo-1.2.3.tar.gz"
set(CPACK_SOURCE_GENERATOR TGZ)
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_VERSION_MAJOR ${EXAMPLE_PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${EXAMPLE_PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${EXAMPLE_PROJECT_VERSION_PATCH})
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
# Blacklist for in-source builds (argh)
set(CPACK_SOURCE_IGNORE_FILES
	"/CVS/;/\\\\.svn/;\\\\.swp$;\\\\.tmp$;\\\\.#;/#;~$"
	"\\\\.gz$;\\\\.bz2$;\\\\.Z$;\\\\.tgz$;\\\\.tbz2$;\\\\.zip$"
	/cmake
	/CMake[^L]
	/[_]?CPack
	/install_manifest.txt$
	/Makefile$
	/uninstall.cmake$
	/config.h$
	/build/
)
# Must follow _after_ CPACK_* variables
include(CPack)

# Generate config.h
configure_file(
	${CMAKE_SOURCE_DIR}/config.h.in
	${CMAKE_BINARY_DIR}/config.h
)
