diff options
-rw-r--r-- | CMakeLists.txt | 21 | ||||
-rw-r--r-- | bench/btl/CMakeLists.txt | 10 | ||||
-rw-r--r-- | test/main.h | 2 |
3 files changed, 30 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 840ba6f53..215f65aa7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ 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.6) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) @@ -35,25 +35,44 @@ if(CMAKE_COMPILER_IS_GNUCXX) if(NOT EIGEN_TEST_LIB) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") endif(NOT EIGEN_TEST_LIB) + + option(EIGEN_TEST_SSE2 "Enable/Disable SSE2 in tests/examples" OFF) if(EIGEN_TEST_SSE2) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") message("Enabling SSE2 in tests/examples") endif(EIGEN_TEST_SSE2) + + option(EIGEN_TEST_SSE3 "Enable/Disable SSE3 in tests/examples" OFF) if(EIGEN_TEST_SSE3) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse3") message("Enabling SSE3 in tests/examples") endif(EIGEN_TEST_SSE3) + + option(EIGEN_TEST_SSSE3 "Enable/Disable SSSE3 in tests/examples" OFF) if(EIGEN_TEST_SSSE3) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3") message("Enabling SSSE3 in tests/examples") endif(EIGEN_TEST_SSSE3) + + option(EIGEN_TEST_ALTIVEC "Enable/Disable altivec in tests/examples" OFF) 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) +if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") + + option(EIGEN_TEST_SSE2 "Enable/Disable SSE2 in tests/examples" OFF) + if(EIGEN_TEST_SSE2) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2") + message("Enabling SSE2 in tests/examples") + endif(EIGEN_TEST_SSE2) +endif(MSVC) + include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(Eigen) diff --git a/bench/btl/CMakeLists.txt b/bench/btl/CMakeLists.txt index 8fb0ff889..b6afc86ed 100644 --- a/bench/btl/CMakeLists.txt +++ b/bench/btl/CMakeLists.txt @@ -21,6 +21,16 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) ENDIF(NOT BTL_NOVEC) ENDIF(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) +IF(MSVC) + SET(CMAKE_CXX_FLAGS " /O2 /Ot /GL /fp:fast -DNDEBUG") +# SET(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG") + IF(NOT BTL_NOVEC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2") + ELSE(NOT BTL_NOVEC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE") + ENDIF(NOT BTL_NOVEC) +ENDIF(MSVC) + if(IS_ICPC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fast") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fast") diff --git a/test/main.h b/test/main.h index 0476df3cc..433c8688b 100644 --- a/test/main.h +++ b/test/main.h @@ -47,8 +47,6 @@ namespace Eigen #define EI_PP_CAT2(a,b) a ## b #define EI_PP_CAT(a,b) EI_PP_CAT2(a,b) -//#define EIGEN_NO_EXCEPTIONS // disabling throwing assertions on bad alloc -- somehow makes the tests crawl - #ifndef EIGEN_NO_ASSERTION_CHECKING namespace Eigen |