bug #1606: Explicitly set the standard before find_package(StandardMathLibrary). Also replace EIGEN_COMPILER_SUPPORT_CXX11 in favor of EIGEN_COMPILER_SUPPORT_CPP11.
This commit is contained in:
		
							parent
							
								
									e154c87504
								
							
						
					
					
						commit
						a4afa90d16
					
				| @ -67,6 +67,33 @@ include(GNUInstallDirs) | ||||
| 
 | ||||
| set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) | ||||
| 
 | ||||
| 
 | ||||
| option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." OFF) | ||||
| 
 | ||||
| 
 | ||||
| macro(ei_add_cxx_compiler_flag FLAG) | ||||
|   string(REGEX REPLACE "-" "" SFLAG1 ${FLAG}) | ||||
|   string(REGEX REPLACE "\\+" "p" SFLAG ${SFLAG1}) | ||||
|   check_cxx_compiler_flag(${FLAG} COMPILER_SUPPORT_${SFLAG}) | ||||
|   if(COMPILER_SUPPORT_${SFLAG}) | ||||
|     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}") | ||||
|   endif() | ||||
| endmacro(ei_add_cxx_compiler_flag) | ||||
| 
 | ||||
| check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) | ||||
| 
 | ||||
| if(EIGEN_TEST_CXX11) | ||||
|   set(CMAKE_CXX_STANDARD 11) | ||||
|   set(CMAKE_CXX_EXTENSIONS OFF) | ||||
|   if(EIGEN_COMPILER_SUPPORT_CPP11) | ||||
|     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") | ||||
|   endif() | ||||
| else() | ||||
|   #set(CMAKE_CXX_STANDARD 03) | ||||
|   #set(CMAKE_CXX_EXTENSIONS OFF) | ||||
|   ei_add_cxx_compiler_flag("-std=c++03") | ||||
| endif() | ||||
| 
 | ||||
| ############################################################################# | ||||
| # find how to link to the standard libraries                                # | ||||
| ############################################################################# | ||||
| @ -118,15 +145,6 @@ endif() | ||||
| 
 | ||||
| set(EIGEN_TEST_MAX_SIZE "320" CACHE STRING "Maximal matrix/vector size, default is 320") | ||||
| 
 | ||||
| macro(ei_add_cxx_compiler_flag FLAG) | ||||
|   string(REGEX REPLACE "-" "" SFLAG1 ${FLAG}) | ||||
|   string(REGEX REPLACE "\\+" "p" SFLAG ${SFLAG1}) | ||||
|   check_cxx_compiler_flag(${FLAG} COMPILER_SUPPORT_${SFLAG}) | ||||
|   if(COMPILER_SUPPORT_${SFLAG}) | ||||
|     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}") | ||||
|   endif() | ||||
| endmacro(ei_add_cxx_compiler_flag) | ||||
| 
 | ||||
| if(NOT MSVC) | ||||
|   # We assume that other compilers are partly compatible with GNUCC | ||||
| 
 | ||||
| @ -362,8 +380,6 @@ if(EIGEN_TEST_NO_EXCEPTIONS) | ||||
|   message(STATUS "Disabling exceptions in tests/examples") | ||||
| endif() | ||||
| 
 | ||||
| option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." OFF) | ||||
| 
 | ||||
| set(EIGEN_CUDA_COMPUTE_ARCH 30 CACHE STRING "The CUDA compute architecture level to target when compiling CUDA code") | ||||
| 
 | ||||
| include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) | ||||
|  | ||||
| @ -56,8 +56,3 @@ elseif(MSVC) | ||||
| endif(CMAKE_COMPILER_IS_GNUCXX) | ||||
| 
 | ||||
| 
 | ||||
| check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CXX11) | ||||
| 
 | ||||
| if(EIGEN_TEST_CXX11 AND EIGEN_COMPILER_SUPPORT_CXX11) | ||||
|   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") | ||||
| endif() | ||||
|  | ||||
| @ -19,7 +19,6 @@ if(QT4_FOUND) | ||||
|   add_dependencies(all_examples Tutorial_sparse_example) | ||||
| endif(QT4_FOUND) | ||||
| 
 | ||||
| check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) | ||||
| if(EIGEN_COMPILER_SUPPORT_CPP11) | ||||
|   add_executable(random_cpp11 random_cpp11.cpp) | ||||
|   target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) | ||||
|  | ||||
| @ -68,7 +68,7 @@ ei_add_test(EulerAngles) | ||||
| 
 | ||||
| find_package(MPFR 2.3.0) | ||||
| find_package(GMP) | ||||
| if(MPFR_FOUND AND EIGEN_COMPILER_SUPPORT_CXX11) | ||||
| if(MPFR_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11) | ||||
|   include_directories(${MPFR_INCLUDES} ./mpreal) | ||||
|   ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ") | ||||
|   set(EIGEN_MPFR_TEST_LIBRARIES ${MPFR_LIBRARIES} ${GMP_LIBRARIES}) | ||||
| @ -154,7 +154,8 @@ if(EIGEN_TEST_CXX11) | ||||
|   endif(EIGEN_TEST_SYCL) | ||||
|   # It should be safe to always run these tests as there is some fallback code for | ||||
|   # older compiler that don't support cxx11. | ||||
|   set(CMAKE_CXX_STANDARD 11) | ||||
|   # This is already set if EIGEN_TEST_CXX11 is enabled: | ||||
|   # set(CMAKE_CXX_STANDARD 11) | ||||
| 
 | ||||
|   ei_add_test(cxx11_eventcount "-pthread" "${CMAKE_THREAD_LIBS_INIT}") | ||||
|   ei_add_test(cxx11_runqueue "-pthread" "${CMAKE_THREAD_LIBS_INIT}") | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Christoph Hertzberg
						Christoph Hertzberg