PROJECT(Eigen)
SET(EIGEN_VERSION_NUMBER "2.0-beta1")

#if the svnversion program is absent, this will leave the SVN_REVISION string empty,
#but won't stop CMake.
EXECUTE_PROCESS(COMMAND svnversion -n ${CMAKE_SOURCE_DIR}
                OUTPUT_VARIABLE EIGEN_SVN_REVISION)

IF(EIGEN_SVN_REVISION)
  SET(EIGEN_VERSION "${EIGEN_VERSION_NUMBER} (SVN revision ${EIGEN_SVN_REVISION})")
ELSE(EIGEN_SVN_REVISION)
  SET(EIGEN_VERSION "${EIGEN_VERSION_NUMBER}")
ENDIF(EIGEN_SVN_REVISION)

CMAKE_MINIMUM_REQUIRED(VERSION 2.4)

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

OPTION(BUILD_TESTS "Build tests" OFF)
OPTION(BUILD_DEMOS "Build demos" OFF)
OPTION(BUILD_LIB "Build the binary shared library" OFF)
OPTION(BUILD_BTL "Build benchmark suite" OFF)

IF(BUILD_LIB)
  OPTION(TEST_LIB "Build the unit tests using the library (disable -pedantic)" OFF)
ENDIF(BUILD_LIB)

SET(CMAKE_INCLUDE_CURRENT_DIR ON)

IF(CMAKE_COMPILER_IS_GNUCXX)
  IF(CMAKE_SYSTEM_NAME MATCHES Linux)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common -fstrict-aliasing")
    IF(NOT TEST_LIB)
      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
    ENDIF(NOT TEST_LIB)
    IF(TEST_SSE2)
      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
      MESSAGE("Enabling SSE2 in tests/examples")
    ENDIF(TEST_SSE2)
    IF(TEST_SSE3)
      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse3")
      MESSAGE("Enabling SSE3 in tests/examples")
    ENDIF(TEST_SSE3)
    IF(TEST_SSSE3)
      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
      MESSAGE("Enabling SSSE3 in tests/examples")
    ENDIF(TEST_SSSE3)
    IF(TEST_ALTIVEC)
      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maltivec -mabi=altivec")
      MESSAGE("Enabling AltiVec in tests/examples")
    ENDIF(TEST_ALTIVEC)
  ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

ADD_SUBDIRECTORY(Eigen)
ADD_SUBDIRECTORY(test)
ADD_SUBDIRECTORY(doc)
ADD_SUBDIRECTORY(demos)

IF(BUILD_BTL)
  ADD_SUBDIRECTORY(bench/btl)
ENDIF(BUILD_BTL)
