# Minimum required version of CMake
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
if(COMMAND CMAKE_POLICY)
  CMAKE_POLICY(SET CMP0003 NEW)
endif(COMMAND CMAKE_POLICY)

# Set CMake project name
project(TCLAP)

include(CheckIncludeFile)
CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H)
CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)

set(CMAKE_CXX_FLAGS_TMP "${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "")

# Use the CMake standard test macros when we can
include(CMakeBackwardCompatibilityCXX)
if(CMAKE_HAS_ANSI_STRING_STREAM)
  set(HAVE_SSTREAM 1)
endif(CMAKE_HAS_ANSI_STRING_STREAM)
if(NOT CMAKE_NO_STD_NAMESPACE)
  set(HAVE_NAMESPACES 1)
endif(NOT CMAKE_NO_STD_NAMESPACE)

# Specifically test for strstream
if(NOT HAVE_SSTREAM)
  CHECK_INCLUDE_FILE_CXX(strstream CMAKE_HAS_STRSTREAM)
  if(CMAKE_HAS_STRSTREAM)
    set(HAVE_STRSTREAM 1)
    set(HAVE_CLASS_STRSTREAM 1)
  endif(CMAKE_HAS_STRSTREAM)
endif(NOT HAVE_SSTREAM)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_TMP}")

include(CheckTypeSize)
CHECK_TYPE_SIZE("long long" HAVE_LONG_LONG)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
  ${CMAKE_CURRENT_BINARY_DIR}/include/tclap_config.h)

# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
