SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin" CACHE PATH "Single output directory for building all executables." FORCE)
SET(LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib" CACHE PATH "Single output directory for building all libraries." FORCE)

IF(LINK_STATIC)
	SET(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wno-deprecated -static" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
	SET(CMAKE_CXX_FLAGS_RELEASE   "-O3 -DNDEBUG -Wno-deprecated -static" CACHE STRING "Flags used by the compiler during release builds" FORCE)
	SET(CMAKE_CXX_FLAGS_RELEASE32 "-O3 -DNDEBUG -Wno-deprecated -static -m32" CACHE STRING "Flags used by the compiler during release builds" FORCE)
ELSE(LINK_STATIC)
	SET(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wno-deprecated" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
	SET(CMAKE_CXX_FLAGS_RELEASE   "-O3 -DNDEBUG -Wno-deprecated" CACHE STRING "Flags used by the compiler during release builds" FORCE)
	SET(CMAKE_CXX_FLAGS_RELEASE32 "-O3 -DNDEBUG -Wno-deprecated -m32" CACHE STRING "Flags used by the compiler during release builds" FORCE)
ENDIF(LINK_STATIC)

IF(NOT CMAKE_BUILD_TYPE)
	SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)

### CPACK ###

SET(CPACK_PACKAGE_NAME "coala")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "1")
SET(CPACK_PACKAGE_FILE_NAME
	"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
SET(CPACK_GENERATOR "TGZ")
SET(CPACK_PACKAGE_EXECUTABLES "${PROJECT_SOURCE_DIR}/bin/coala.bin;coala.bin")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
SET(CPACK_SOURCE_GENERATOR "TGZ")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}_src")
SET(CPACK_SOURCE_IGNORE_FILES
		"/bin/coala.bin;/Coala.*;/build/[^cT];/build/.[^o];/build/..[^no];//CVS/;/\\\\.svn/;\\\\.swp$;\\\\.#;/\\\#")

IF(CMAKE_BUILD_TYPE STREQUAL "Release32")
  SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-gnu32")
ENDIF(CMAKE_BUILD_TYPE STREQUAL "Release32")

INCLUDE(CPack)


ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(app)
