PROJECT(Eigen)

CMAKE_MINIMUM_REQUIRED(VERSION 2.4)

OPTION(BUILD_TESTS "Build tests" OFF)
OPTION(BUILD_DOC "Build documentation and examples" 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_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_SOURCE_DIR} ${CMAKE_BINARY_DIR})

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

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