mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
* use standard CMAKE_BUILD_TYPE
* remove debug_xxx targets * runtest.sh: don't run make
This commit is contained in:
parent
343eec7ca8
commit
ff7fbc9431
@ -40,10 +40,18 @@ endif(NOT WIN32)
|
|||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
|
string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_tolower)
|
||||||
|
if(cmake_build_type_tolower STREQUAL "debug")
|
||||||
|
set(CMAKE_BUILD_TYPE "Debug")
|
||||||
|
else()
|
||||||
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
if(CMAKE_SYSTEM_NAME MATCHES Linux)
|
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")
|
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 -fexceptions -fno-check-new -fno-common -fstrict-aliasing")
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "-g3")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASE "-g0 -O2")
|
||||||
check_cxx_compiler_flag("-Wextra" COMPILER_SUPPORT_WEXTRA)
|
check_cxx_compiler_flag("-Wextra" COMPILER_SUPPORT_WEXTRA)
|
||||||
if(COMPILER_SUPPORT_WEXTRA)
|
if(COMPILER_SUPPORT_WEXTRA)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
|
||||||
@ -81,8 +89,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
|
||||||
|
|
||||||
option(EIGEN_TEST_SSE2 "Enable/Disable SSE2 in tests/examples" OFF)
|
option(EIGEN_TEST_SSE2 "Enable/Disable SSE2 in tests/examples" OFF)
|
||||||
if(EIGEN_TEST_SSE2)
|
if(EIGEN_TEST_SSE2)
|
||||||
if(NOT CMAKE_CL_64)
|
if(NOT CMAKE_CL_64)
|
||||||
@ -156,8 +163,7 @@ if(cmake_generator_tolower MATCHES "makefile")
|
|||||||
message(" | * To change that: cmake . -DCMAKE_INSTALL_PREFIX=yourpath")
|
message(" | * To change that: cmake . -DCMAKE_INSTALL_PREFIX=yourpath")
|
||||||
message("make btest | Build the unit tests")
|
message("make btest | Build the unit tests")
|
||||||
message("make test | Build and run the unit tests (using CTest)")
|
message("make test | Build and run the unit tests (using CTest)")
|
||||||
message("make test_qr | Build a specific test, here test_qr. To run it: test/test_qr")
|
message("make test_qr | Build a specific test, here test_qr.")
|
||||||
message("make debug_qr | Build a test with full debug info. To run it: test/debug_qr")
|
|
||||||
message("make blas | Build BLAS library (not the same thing as Eigen)")
|
message("make blas | Build BLAS library (not the same thing as Eigen)")
|
||||||
message("make doc | Generate the API documentation, requires Doxygen & LaTeX")
|
message("make doc | Generate the API documentation, requires Doxygen & LaTeX")
|
||||||
message("--------------+----------------------------------------------------------------")
|
message("--------------+----------------------------------------------------------------")
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
option(EIGEN_NO_ASSERTION_CHECKING "Disable checking of assertions" OFF)
|
option(EIGEN_NO_ASSERTION_CHECKING "Disable checking of assertions using exceptions" OFF)
|
||||||
|
option(EIGEN_DEBUG_ASSERTS "Enable advanced debuging of assertions" OFF)
|
||||||
|
|
||||||
# similar to set_target_properties but append the property instead of overwriting it
|
# similar to set_target_properties but append the property instead of overwriting it
|
||||||
macro(ei_add_target_property target prop value)
|
macro(ei_add_target_property target prop value)
|
||||||
@ -19,83 +20,34 @@ endmacro(ei_add_property)
|
|||||||
#internal. See documentation of ei_add_test for details.
|
#internal. See documentation of ei_add_test for details.
|
||||||
macro(ei_add_test_internal testname testname_with_suffix)
|
macro(ei_add_test_internal testname testname_with_suffix)
|
||||||
set(targetname test_${testname_with_suffix})
|
set(targetname test_${testname_with_suffix})
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
set(debug_targetname debug_${testname_with_suffix})
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
|
|
||||||
set(filename ${testname}.cpp)
|
set(filename ${testname}.cpp)
|
||||||
add_executable(${targetname} ${filename})
|
add_executable(${targetname} ${filename})
|
||||||
add_dependencies(btest ${targetname})
|
add_dependencies(btest ${targetname})
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
add_executable(${debug_targetname} EXCLUDE_FROM_ALL ${filename})
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
|
|
||||||
if(NOT EIGEN_NO_ASSERTION_CHECKING)
|
if(EIGEN_NO_ASSERTION_CHECKING)
|
||||||
|
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_NO_ASSERTION_CHECKING=1")
|
||||||
if(MSVC)
|
else(EIGEN_NO_ASSERTION_CHECKING)
|
||||||
set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "/EHsc")
|
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
set_target_properties(${debug_targetname} PROPERTIES COMPILE_FLAGS "/EHsc")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
else(MSVC)
|
|
||||||
set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "-fexceptions")
|
|
||||||
set_target_properties(${debug_targetname} PROPERTIES COMPILE_FLAGS "-fexceptions")
|
|
||||||
endif(MSVC)
|
|
||||||
|
|
||||||
option(EIGEN_DEBUG_ASSERTS "Enable debuging of assertions" OFF)
|
|
||||||
if(EIGEN_DEBUG_ASSERTS)
|
if(EIGEN_DEBUG_ASSERTS)
|
||||||
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_DEBUG_ASSERTS=1")
|
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_DEBUG_ASSERTS=1")
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "-DEIGEN_DEBUG_ASSERTS=1")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
endif(EIGEN_DEBUG_ASSERTS)
|
endif(EIGEN_DEBUG_ASSERTS)
|
||||||
|
endif(EIGEN_NO_ASSERTION_CHECKING)
|
||||||
else(NOT EIGEN_NO_ASSERTION_CHECKING)
|
|
||||||
|
|
||||||
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_NO_ASSERTION_CHECKING=1")
|
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "-DEIGEN_NO_ASSERTION_CHECKING=1")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
|
|
||||||
endif(NOT EIGEN_NO_ASSERTION_CHECKING)
|
|
||||||
|
|
||||||
# let the user pass flags. Note that if the user passes an optimization flag here, it's important that
|
|
||||||
# we counter it by a no-optimization flag!
|
|
||||||
if(${ARGC} GREATER 2)
|
|
||||||
ei_add_target_property(${targetname} COMPILE_FLAGS "${ARGV2}")
|
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "${ARGV2} ${EI_NO_OPTIMIZATION_FLAG}")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
endif(${ARGC} GREATER 2)
|
|
||||||
|
|
||||||
# for the debug target, add full debug options
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
# disable debug symbols: i get 2 GB of them!
|
|
||||||
# the user can still use the debug targets as needed.
|
|
||||||
# for MSVC, the equivalent (release mode) does the same.
|
|
||||||
ei_add_target_property(${targetname} COMPILE_FLAGS "-g0")
|
|
||||||
# O0 is in principle redundant here, but doesn't hurt
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "-O0 -g3")
|
|
||||||
elseif(MSVC)
|
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "/Od /Zi")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
|
|
||||||
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_TEST_FUNC=${testname}")
|
ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_TEST_FUNC=${testname}")
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
ei_add_target_property(${debug_targetname} COMPILE_FLAGS "-DEIGEN_TEST_FUNC=${testname}")
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
|
|
||||||
target_link_libraries(${targetname} ${EXTERNAL_LIBS})
|
# let the user pass flags.
|
||||||
|
if(${ARGC} GREATER 2)
|
||||||
|
ei_add_target_property(${targetname} COMPILE_FLAGS "${ARGV2}")
|
||||||
|
endif(${ARGC} GREATER 2)
|
||||||
|
|
||||||
|
if(EXTERNAL_LIBS)
|
||||||
|
target_link_libraries(${targetname} ${EXTERNAL_LIBS})
|
||||||
|
endif()
|
||||||
if(${ARGC} GREATER 3)
|
if(${ARGC} GREATER 3)
|
||||||
string(STRIP "${ARGV3}" ARGV3_stripped)
|
string(STRIP "${ARGV3}" ARGV3_stripped)
|
||||||
string(LENGTH "${ARGV3_stripped}" ARGV3_stripped_length)
|
string(LENGTH "${ARGV3_stripped}" ARGV3_stripped_length)
|
||||||
if(${ARGV3_stripped_length} GREATER 0)
|
if(${ARGV3_stripped_length} GREATER 0)
|
||||||
target_link_libraries(${targetname} ${ARGV3})
|
target_link_libraries(${targetname} ${ARGV3})
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
target_link_libraries(${debug_targetname} ${ARGV3})
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
endif(${ARGV3_stripped_length} GREATER 0)
|
endif(${ARGV3_stripped_length} GREATER 0)
|
||||||
endif(${ARGC} GREATER 3)
|
endif(${ARGC} GREATER 3)
|
||||||
|
|
||||||
@ -123,19 +75,13 @@ endmacro(ei_add_test_internal)
|
|||||||
# Depending on the contents of that file, this macro can have 2 behaviors,
|
# Depending on the contents of that file, this macro can have 2 behaviors,
|
||||||
# see below.
|
# see below.
|
||||||
#
|
#
|
||||||
# Optional parameters can be passed: the 2nd parameter is additional compile flags
|
# The optional 2nd parameter is libraries to link to.
|
||||||
# (optimization will be explicitly disabled for the debug test targets) and the 3rd
|
|
||||||
# parameter is libraries to link to.
|
|
||||||
#
|
#
|
||||||
# A. Default behavior
|
# A. Default behavior
|
||||||
#
|
#
|
||||||
# this macro add an executable test_<testname> as well as a ctest test
|
# this macro add an executable test_<testname> as well as a ctest test
|
||||||
# named <testname>.
|
# named <testname>.
|
||||||
#
|
#
|
||||||
# it also adds another executable debug_<testname> that compiles in full debug mode
|
|
||||||
# and is not added to the test target. The idea is that when a test fails you want
|
|
||||||
# a quick way of rebuilding this specific test in full debug mode.
|
|
||||||
#
|
|
||||||
# On platforms with bash simply run:
|
# On platforms with bash simply run:
|
||||||
# "ctest -V" or "ctest -V -R <testname>"
|
# "ctest -V" or "ctest -V -R <testname>"
|
||||||
# On other platform use ctest as usual
|
# On other platform use ctest as usual
|
||||||
@ -143,7 +89,7 @@ endmacro(ei_add_test_internal)
|
|||||||
# B. Multi-part behavior
|
# B. Multi-part behavior
|
||||||
#
|
#
|
||||||
# If the source file matches the regexp
|
# If the source file matches the regexp
|
||||||
# CALL_SUBTEST(-9]+|EIGEN_TEST_PART_[0-9]+
|
# CALL_SUBTEST_[0-9]+|EIGEN_TEST_PART_[0-9]+
|
||||||
# then it is interpreted as a multi-part test. The behavior then depends on the
|
# then it is interpreted as a multi-part test. The behavior then depends on the
|
||||||
# CMake option EIGEN_SPLIT_LARGE_TESTS, which is ON by default.
|
# CMake option EIGEN_SPLIT_LARGE_TESTS, which is ON by default.
|
||||||
#
|
#
|
||||||
@ -156,13 +102,10 @@ endmacro(ei_add_test_internal)
|
|||||||
# executables is built passing -DEIGEN_TEST_PART_N. This allows to split large tests
|
# executables is built passing -DEIGEN_TEST_PART_N. This allows to split large tests
|
||||||
# into smaller executables.
|
# into smaller executables.
|
||||||
#
|
#
|
||||||
# The same holds for the debug executables.
|
# Moreover, targets test_<testname> are still generated, they
|
||||||
#
|
|
||||||
# Moreover, targets test_<testname> and debug_<testname> are still generated, they
|
|
||||||
# have the effect of building all the parts of the test.
|
# have the effect of building all the parts of the test.
|
||||||
#
|
#
|
||||||
# Again, ctest -R allows to run all matching tests.
|
# Again, ctest -R allows to run all matching tests.
|
||||||
#
|
|
||||||
macro(ei_add_test testname)
|
macro(ei_add_test testname)
|
||||||
file(READ "${testname}.cpp" test_source)
|
file(READ "${testname}.cpp" test_source)
|
||||||
set(parts 0)
|
set(parts 0)
|
||||||
@ -172,16 +115,10 @@ macro(ei_add_test testname)
|
|||||||
list(REMOVE_DUPLICATES suffixes)
|
list(REMOVE_DUPLICATES suffixes)
|
||||||
if(EIGEN_SPLIT_LARGE_TESTS AND suffixes)
|
if(EIGEN_SPLIT_LARGE_TESTS AND suffixes)
|
||||||
add_custom_target(test_${testname})
|
add_custom_target(test_${testname})
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
add_custom_target(debug_${testname})
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
foreach(suffix ${suffixes})
|
foreach(suffix ${suffixes})
|
||||||
ei_add_test_internal(${testname} ${testname}_${suffix}
|
ei_add_test_internal(${testname} ${testname}_${suffix}
|
||||||
"${ARGV1} -DEIGEN_TEST_PART_${suffix}=1" "${ARGV2}")
|
"${ARGV1} -DEIGEN_TEST_PART_${suffix}=1" "${ARGV2}")
|
||||||
add_dependencies(test_${testname} test_${testname}_${suffix})
|
add_dependencies(test_${testname} test_${testname}_${suffix})
|
||||||
if(NOT MSVC_IDE)
|
|
||||||
add_dependencies(debug_${testname} debug_${testname}_${suffix})
|
|
||||||
endif(NOT MSVC_IDE)
|
|
||||||
endforeach(suffix)
|
endforeach(suffix)
|
||||||
else(EIGEN_SPLIT_LARGE_TESTS AND suffixes)
|
else(EIGEN_SPLIT_LARGE_TESTS AND suffixes)
|
||||||
set(symbols_to_enable_all_parts "")
|
set(symbols_to_enable_all_parts "")
|
||||||
@ -199,7 +136,11 @@ macro(ei_testing_print_summary)
|
|||||||
message("************************************************************")
|
message("************************************************************")
|
||||||
message("*** Eigen's unit tests configuration summary ***")
|
message("*** Eigen's unit tests configuration summary ***")
|
||||||
message("************************************************************")
|
message("************************************************************")
|
||||||
|
message("")
|
||||||
|
message("Build type: ${CMAKE_BUILD_TYPE}")
|
||||||
|
message(" * To change that: cmake . -DCMAKE_BUILD_TYPE=type")
|
||||||
|
message(" * Available types are Debug and Release")
|
||||||
|
message("")
|
||||||
get_property(EIGEN_TESTING_SUMMARY GLOBAL PROPERTY EIGEN_TESTING_SUMMARY)
|
get_property(EIGEN_TESTING_SUMMARY GLOBAL PROPERTY EIGEN_TESTING_SUMMARY)
|
||||||
get_property(EIGEN_TESTED_BACKENDS GLOBAL PROPERTY EIGEN_TESTED_BACKENDS)
|
get_property(EIGEN_TESTED_BACKENDS GLOBAL PROPERTY EIGEN_TESTED_BACKENDS)
|
||||||
get_property(EIGEN_MISSING_BACKENDS GLOBAL PROPERTY EIGEN_MISSING_BACKENDS)
|
get_property(EIGEN_MISSING_BACKENDS GLOBAL PROPERTY EIGEN_MISSING_BACKENDS)
|
||||||
@ -275,13 +216,6 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${COVERAGE_FLAGS} -fno-inline-functions")
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${COVERAGE_FLAGS} -fno-inline-functions")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COVERAGE_FLAGS} -O0 -g3")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COVERAGE_FLAGS} -O0 -g3")
|
||||||
endif(CMAKE_SYSTEM_NAME MATCHES Linux)
|
endif(CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||||
set(EI_OFLAG "-O2")
|
|
||||||
set(EI_NO_OPTIMIZATION_FLAG "-O0")
|
|
||||||
elseif(MSVC)
|
elseif(MSVC)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Zi /Ob0 /Od" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
|
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Zi /Ob0 /Od" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
|
||||||
set(EI_OFLAG "/O2")
|
|
||||||
set(EI_NO_OPTIMIZATION_FLAG "/O0")
|
|
||||||
else(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
set(EI_OFLAG "")
|
|
||||||
set(EI_NO_OPTIMIZATION_FLAG "")
|
|
||||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
@ -98,8 +98,8 @@ ei_add_test(cwiseop)
|
|||||||
ei_add_test(redux)
|
ei_add_test(redux)
|
||||||
ei_add_test(visitor)
|
ei_add_test(visitor)
|
||||||
ei_add_test(product_small)
|
ei_add_test(product_small)
|
||||||
ei_add_test(product_large ${EI_OFLAG})
|
ei_add_test(product_large)
|
||||||
ei_add_test(product_extra ${EI_OFLAG})
|
ei_add_test(product_extra)
|
||||||
ei_add_test(diagonalmatrices)
|
ei_add_test(diagonalmatrices)
|
||||||
ei_add_test(adjoint)
|
ei_add_test(adjoint)
|
||||||
ei_add_test(submatrices)
|
ei_add_test(submatrices)
|
||||||
@ -111,19 +111,19 @@ ei_add_test(array)
|
|||||||
ei_add_test(array_replicate)
|
ei_add_test(array_replicate)
|
||||||
ei_add_test(array_reverse)
|
ei_add_test(array_reverse)
|
||||||
ei_add_test(triangular)
|
ei_add_test(triangular)
|
||||||
ei_add_test(product_selfadjoint ${EI_OFLAG})
|
ei_add_test(product_selfadjoint)
|
||||||
ei_add_test(product_symm ${EI_OFLAG})
|
ei_add_test(product_symm)
|
||||||
ei_add_test(product_syrk ${EI_OFLAG})
|
ei_add_test(product_syrk)
|
||||||
ei_add_test(product_trmv ${EI_OFLAG})
|
ei_add_test(product_trmv)
|
||||||
ei_add_test(product_trmm ${EI_OFLAG})
|
ei_add_test(product_trmm)
|
||||||
ei_add_test(product_trsm ${EI_OFLAG})
|
ei_add_test(product_trsm)
|
||||||
ei_add_test(product_notemporary ${EI_OFLAG})
|
ei_add_test(product_notemporary)
|
||||||
ei_add_test(stable_norm)
|
ei_add_test(stable_norm)
|
||||||
ei_add_test(bandmatrix)
|
ei_add_test(bandmatrix)
|
||||||
ei_add_test(cholesky " " "${GSL_LIBRARIES}")
|
ei_add_test(cholesky " " "${GSL_LIBRARIES}")
|
||||||
ei_add_test(lu ${EI_OFLAG})
|
ei_add_test(lu)
|
||||||
ei_add_test(determinant)
|
ei_add_test(determinant)
|
||||||
ei_add_test(inverse ${EI_OFLAG})
|
ei_add_test(inverse)
|
||||||
ei_add_test(qr)
|
ei_add_test(qr)
|
||||||
ei_add_test(qr_colpivoting)
|
ei_add_test(qr_colpivoting)
|
||||||
ei_add_test(qr_fullpivoting)
|
ei_add_test(qr_fullpivoting)
|
||||||
@ -131,7 +131,7 @@ ei_add_test(eigensolver_selfadjoint " " "${GSL_LIBRARIES}")
|
|||||||
ei_add_test(eigensolver_generic " " "${GSL_LIBRARIES}")
|
ei_add_test(eigensolver_generic " " "${GSL_LIBRARIES}")
|
||||||
ei_add_test(eigensolver_complex)
|
ei_add_test(eigensolver_complex)
|
||||||
ei_add_test(svd)
|
ei_add_test(svd)
|
||||||
ei_add_test(jacobisvd ${EI_OFLAG})
|
ei_add_test(jacobisvd)
|
||||||
ei_add_test(geo_orthomethods)
|
ei_add_test(geo_orthomethods)
|
||||||
ei_add_test(geo_homogeneous)
|
ei_add_test(geo_homogeneous)
|
||||||
ei_add_test(geo_quaternion)
|
ei_add_test(geo_quaternion)
|
||||||
|
@ -9,20 +9,12 @@ magenta='\E[35m'
|
|||||||
cyan='\E[36m'
|
cyan='\E[36m'
|
||||||
white='\E[37m'
|
white='\E[37m'
|
||||||
|
|
||||||
if make test_$1 > /dev/null 2> .runtest.log ; then
|
if ! ./test_$1 r20 > /dev/null 2> .runtest.log ; then
|
||||||
if ! ./test_$1 r20 > /dev/null 2> .runtest.log ; then
|
echo -e $red Test $1 failed: $black
|
||||||
echo -e $red Test $1 failed: $black
|
|
||||||
echo -e $blue
|
|
||||||
cat .runtest.log
|
|
||||||
echo -e $black
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo -e $green Test $1 passed$black
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo -e $red Build of target $1 failed: $black
|
|
||||||
echo -e $blue
|
echo -e $blue
|
||||||
cat .runtest.log
|
cat .runtest.log
|
||||||
echo -e $black
|
echo -e $black
|
||||||
exit 1
|
exit 1
|
||||||
|
else
|
||||||
|
echo -e $green Test $1 passed$black
|
||||||
fi
|
fi
|
||||||
|
@ -50,7 +50,7 @@ void syntax()
|
|||||||
// this works fine
|
// this works fine
|
||||||
Matrix< Complex<T>, 9, 1> a;
|
Matrix< Complex<T>, 9, 1> a;
|
||||||
std::complex<T> * pa = &a[0];
|
std::complex<T> * pa = &a[0];
|
||||||
Complex<T> * pa2 = &a[0];
|
//Complex<T> * pa2 = &a[0];
|
||||||
take_std( pa,9);
|
take_std( pa,9);
|
||||||
|
|
||||||
// this does not work, but I wish it would
|
// this does not work, but I wish it would
|
||||||
|
Loading…
x
Reference in New Issue
Block a user