aboutsummaryrefslogtreecommitdiffhomepage
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt107
1 files changed, 58 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0934144b9..7856c15ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,64 +1,73 @@
-PROJECT(Eigen)
-SET(EIGEN_VERSION_NUMBER "2.0-beta1")
+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}
+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)
+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)
+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)
+option(EIGEN_BUILD_TESTS "Build tests" OFF)
+option(EIGEN_BUILD_DEMOS "Build demos" OFF)
+if(NOT WIN32)
+ option(EIGEN_BUILD_LIB "Build the binary shared library" OFF)
+endif(NOT WIN32)
+option(EIGEN_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)
+if(EIGEN_BUILD_LIB)
+ option(EIGEN_TEST_LIB "Build the unit tests using the library (disable -pedantic)" OFF)
+endif(EIGEN_BUILD_LIB)
-SET(CMAKE_INCLUDE_CURRENT_DIR ON)
+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)
+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 EIGEN_TEST_LIB)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
+ endif(NOT EIGEN_TEST_LIB)
+ if(EIGEN_TEST_SSE2)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
+ message("Enabling SSE2 in tests/examples")
+ endif(EIGEN_TEST_SSE2)
+ if(EIGEN_TEST_SSE3)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse3")
+ message("Enabling SSE3 in tests/examples")
+ endif(EIGEN_TEST_SSE3)
+ if(EIGEN_TEST_SSSE3)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
+ message("Enabling SSSE3 in tests/examples")
+ endif(EIGEN_TEST_SSSE3)
+ if(EIGEN_TEST_ALTIVEC)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maltivec -mabi=altivec")
+ message("Enabling AltiVec in tests/examples")
+ endif(EIGEN_TEST_ALTIVEC)
+ endif(CMAKE_SYSTEM_NAME MATCHES Linux)
+endif(CMAKE_COMPILER_IS_GNUCXX)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-ADD_SUBDIRECTORY(Eigen)
-ADD_SUBDIRECTORY(test)
-ADD_SUBDIRECTORY(doc)
-ADD_SUBDIRECTORY(demos)
+add_subdirectory(Eigen)
-IF(BUILD_BTL)
- ADD_SUBDIRECTORY(bench/btl)
-ENDIF(BUILD_BTL)
+if(EIGEN_BUILD_TESTS)
+ add_subdirectory(test)
+endif(EIGEN_BUILD_TESTS)
+
+add_subdirectory(doc)
+
+if(EIGEN_BUILD_DEMOS)
+ add_subdirectory(demos)
+endif(EIGEN_BUILD_DEMOS)
+
+if(EIGEN_BUILD_BTL)
+ add_subdirectory(bench/btl)
+endif(EIGEN_BUILD_BTL)