INCLUDE (CheckIncludeFiles)
INCLUDE (CheckComplex)
INCLUDE (CheckComplexMath1)
INCLUDE (CheckComplexMath2)
INCLUDE (CheckIeeeMath)
INCLUDE (CheckSysvMath)
INCLUDE (CheckLongDouble)
INCLUDE (CheckLongLong)
INCLUDE (CheckRestrictKeyword)
INCLUDE (CheckAlwaysInline)

FILE(GLOB tvmet_header_SRCS "*.h")

CHECK_INCLUDE_FILES     (sys/time.h TVMET_HAVE_SYS_TIME_H)
CHECK_INCLUDE_FILES     (unistd.h TVMET_HAVE_UNISTD_H)
CHECK_COMPLEX           (TVMET_HAVE_COMPLEX)
CHECK_COMPLEX_MATH1     (TVMET_HAVE_COMPLEX_MATH1)
CHECK_COMPLEX_MATH2     (TVMET_HAVE_COMPLEX_MATH2)
CHECK_IEEE_MATH         (TVMET_HAVE_IEEE_MATH)
CHECK_SYSV_MATH         (TVMET_HAVE_SYSV_MATH)
CHECK_LONG_DOUBLE       (TVMET_HAVE_LONG_DOUBLE)
CHECK_LONG_DOUBLE       (TVMET_HAVE_LONG_LONG)
CHECK_RESTRICT_KEYWORD  (TVMET_RESTRICT_KEYWORD)
CHECK_ALWAYS_INLINE     (TVMET_ALWAYS_INLINE)

# the following are directories where stuff will be installed to
SET(INCLUDE_INSTALL_DIR
    "${CMAKE_INSTALL_PREFIX}/include/tvmet"
    CACHE PATH
    "The subdirectory to the header prefix"
    FORCE)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
               ${INCLUDE_INSTALL_DIR}/config.h)

INSTALL(FILES 
  ${tvmet_header_SRCS}
  DESTINATION ${INCLUDE_INSTALL_DIR}
  )

ADD_SUBDIRECTORY(loop)
ADD_SUBDIRECTORY(meta)
ADD_SUBDIRECTORY(xpr)
ADD_SUBDIRECTORY(util)