1*bf2c3715SXin Li 2*bf2c3715SXin Liproject(EigenLapack CXX) 3*bf2c3715SXin Li 4*bf2c3715SXin Liinclude(CheckLanguage) 5*bf2c3715SXin Licheck_language(Fortran) 6*bf2c3715SXin Liif(CMAKE_Fortran_COMPILER) 7*bf2c3715SXin Li enable_language(Fortran) 8*bf2c3715SXin Li set(EIGEN_Fortran_COMPILER_WORKS ON) 9*bf2c3715SXin Lielse() 10*bf2c3715SXin Li set(EIGEN_Fortran_COMPILER_WORKS OFF) 11*bf2c3715SXin Liendif() 12*bf2c3715SXin Li 13*bf2c3715SXin Liadd_custom_target(lapack) 14*bf2c3715SXin Liinclude_directories(../blas) 15*bf2c3715SXin Li 16*bf2c3715SXin Liset(EigenLapack_SRCS 17*bf2c3715SXin Lisingle.cpp double.cpp complex_single.cpp complex_double.cpp ../blas/xerbla.cpp 18*bf2c3715SXin Li) 19*bf2c3715SXin Li 20*bf2c3715SXin Liif(EIGEN_Fortran_COMPILER_WORKS) 21*bf2c3715SXin Li 22*bf2c3715SXin Liset(EigenLapack_SRCS ${EigenLapack_SRCS} 23*bf2c3715SXin Li slarft.f dlarft.f clarft.f zlarft.f 24*bf2c3715SXin Li slarfb.f dlarfb.f clarfb.f zlarfb.f 25*bf2c3715SXin Li slarfg.f dlarfg.f clarfg.f zlarfg.f 26*bf2c3715SXin Li slarf.f dlarf.f clarf.f zlarf.f 27*bf2c3715SXin Li sladiv.f dladiv.f cladiv.f zladiv.f 28*bf2c3715SXin Li ilaslr.f iladlr.f ilaclr.f ilazlr.f 29*bf2c3715SXin Li ilaslc.f iladlc.f ilaclc.f ilazlc.f 30*bf2c3715SXin Li dlapy2.f dlapy3.f slapy2.f slapy3.f 31*bf2c3715SXin Li clacgv.f zlacgv.f 32*bf2c3715SXin Li slamch.f dlamch.f 33*bf2c3715SXin Li second_NONE.f dsecnd_NONE.f 34*bf2c3715SXin Li) 35*bf2c3715SXin Li 36*bf2c3715SXin Lioption(EIGEN_ENABLE_LAPACK_TESTS OFF "Enable the Lapack unit tests") 37*bf2c3715SXin Li 38*bf2c3715SXin Liif(EIGEN_ENABLE_LAPACK_TESTS) 39*bf2c3715SXin Li 40*bf2c3715SXin Li get_filename_component(eigen_full_path_to_reference_lapack "./reference/" ABSOLUTE) 41*bf2c3715SXin Li if(NOT EXISTS ${eigen_full_path_to_reference_lapack}) 42*bf2c3715SXin Li # Download lapack and install sources and testing at the right place 43*bf2c3715SXin Li message(STATUS "Download lapack_addons_3.4.1.tgz...") 44*bf2c3715SXin Li 45*bf2c3715SXin Li file(DOWNLOAD "http://downloads.tuxfamily.org/eigen/lapack_addons_3.4.1.tgz" 46*bf2c3715SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/lapack_addons_3.4.1.tgz" 47*bf2c3715SXin Li INACTIVITY_TIMEOUT 15 48*bf2c3715SXin Li TIMEOUT 240 49*bf2c3715SXin Li STATUS download_status 50*bf2c3715SXin Li EXPECTED_MD5 ab5742640617e3221a873aba44bbdc93 51*bf2c3715SXin Li SHOW_PROGRESS) 52*bf2c3715SXin Li 53*bf2c3715SXin Li message(STATUS ${download_status}) 54*bf2c3715SXin Li list(GET download_status 0 download_status_num) 55*bf2c3715SXin Li set(download_status_num 0) 56*bf2c3715SXin Li if(download_status_num EQUAL 0) 57*bf2c3715SXin Li message(STATUS "Setup lapack reference and lapack unit tests") 58*bf2c3715SXin Li execute_process(COMMAND tar xzf "lapack_addons_3.4.1.tgz" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) 59*bf2c3715SXin Li else() 60*bf2c3715SXin Li message(STATUS "Download of lapack_addons_3.4.1.tgz failed, LAPACK unit tests won't be enabled") 61*bf2c3715SXin Li set(EIGEN_ENABLE_LAPACK_TESTS false) 62*bf2c3715SXin Li endif() 63*bf2c3715SXin Li 64*bf2c3715SXin Li endif() 65*bf2c3715SXin Li 66*bf2c3715SXin Li get_filename_component(eigen_full_path_to_reference_lapack "./reference/" ABSOLUTE) 67*bf2c3715SXin Li if(EXISTS ${eigen_full_path_to_reference_lapack}) 68*bf2c3715SXin Li set(EigenLapack_funcfilenames 69*bf2c3715SXin Li ssyev.f dsyev.f csyev.f zsyev.f 70*bf2c3715SXin Li spotrf.f dpotrf.f cpotrf.f zpotrf.f 71*bf2c3715SXin Li spotrs.f dpotrs.f cpotrs.f zpotrs.f 72*bf2c3715SXin Li sgetrf.f dgetrf.f cgetrf.f zgetrf.f 73*bf2c3715SXin Li sgetrs.f dgetrs.f cgetrs.f zgetrs.f) 74*bf2c3715SXin Li 75*bf2c3715SXin Li file(GLOB ReferenceLapack_SRCS0 RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "reference/*.f") 76*bf2c3715SXin Li foreach(filename1 IN LISTS ReferenceLapack_SRCS0) 77*bf2c3715SXin Li string(REPLACE "reference/" "" filename ${filename1}) 78*bf2c3715SXin Li list(FIND EigenLapack_SRCS ${filename} id1) 79*bf2c3715SXin Li list(FIND EigenLapack_funcfilenames ${filename} id2) 80*bf2c3715SXin Li if((id1 EQUAL -1) AND (id2 EQUAL -1)) 81*bf2c3715SXin Li set(ReferenceLapack_SRCS ${ReferenceLapack_SRCS} reference/${filename}) 82*bf2c3715SXin Li endif() 83*bf2c3715SXin Li endforeach() 84*bf2c3715SXin Li endif() 85*bf2c3715SXin Li 86*bf2c3715SXin Li 87*bf2c3715SXin Liendif() 88*bf2c3715SXin Li 89*bf2c3715SXin Liendif() 90*bf2c3715SXin Li 91*bf2c3715SXin Liset(EIGEN_LAPACK_TARGETS "") 92*bf2c3715SXin Li 93*bf2c3715SXin Liadd_library(eigen_lapack_static ${EigenLapack_SRCS} ${ReferenceLapack_SRCS}) 94*bf2c3715SXin Lilist(APPEND EIGEN_LAPACK_TARGETS eigen_lapack_static) 95*bf2c3715SXin Li 96*bf2c3715SXin Liif (EIGEN_BUILD_SHARED_LIBS) 97*bf2c3715SXin Li add_library(eigen_lapack SHARED ${EigenLapack_SRCS}) 98*bf2c3715SXin Li list(APPEND EIGEN_LAPACK_TARGETS eigen_lapack) 99*bf2c3715SXin Li target_link_libraries(eigen_lapack eigen_blas) 100*bf2c3715SXin Liendif() 101*bf2c3715SXin Li 102*bf2c3715SXin Liforeach(target IN LISTS EIGEN_LAPACK_TARGETS) 103*bf2c3715SXin Li if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO) 104*bf2c3715SXin Li target_link_libraries(${target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) 105*bf2c3715SXin Li endif() 106*bf2c3715SXin Li add_dependencies(lapack ${target}) 107*bf2c3715SXin Li install(TARGETS ${target} 108*bf2c3715SXin Li RUNTIME DESTINATION bin 109*bf2c3715SXin Li LIBRARY DESTINATION lib 110*bf2c3715SXin Li ARCHIVE DESTINATION lib) 111*bf2c3715SXin Liendforeach() 112*bf2c3715SXin Li 113*bf2c3715SXin Li 114*bf2c3715SXin Liget_filename_component(eigen_full_path_to_testing_lapack "./testing/" ABSOLUTE) 115*bf2c3715SXin Liif(EXISTS ${eigen_full_path_to_testing_lapack}) 116*bf2c3715SXin Li 117*bf2c3715SXin Li # The following comes from lapack/TESTING/CMakeLists.txt 118*bf2c3715SXin Li # Get Python 119*bf2c3715SXin Li find_package(PythonInterp) 120*bf2c3715SXin Li message(STATUS "Looking for Python found - ${PYTHONINTERP_FOUND}") 121*bf2c3715SXin Li if (PYTHONINTERP_FOUND) 122*bf2c3715SXin Li message(STATUS "Using Python version ${PYTHON_VERSION_STRING}") 123*bf2c3715SXin Li endif() 124*bf2c3715SXin Li 125*bf2c3715SXin Li set(LAPACK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 126*bf2c3715SXin Li set(LAPACK_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) 127*bf2c3715SXin Li set(BUILD_SINGLE true) 128*bf2c3715SXin Li set(BUILD_DOUBLE true) 129*bf2c3715SXin Li set(BUILD_COMPLEX true) 130*bf2c3715SXin Li set(BUILD_COMPLEX16E true) 131*bf2c3715SXin Li 132*bf2c3715SXin Li if(MSVC_VERSION) 133*bf2c3715SXin Li# string(REPLACE "/STACK:10000000" "/STACK:900000000000000000" 134*bf2c3715SXin Li# CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") 135*bf2c3715SXin Li string(REGEX REPLACE "(.*)/STACK:(.*) (.*)" "\\1/STACK:900000000000000000 \\3" 136*bf2c3715SXin Li CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") 137*bf2c3715SXin Li endif() 138*bf2c3715SXin Li file(MAKE_DIRECTORY "${LAPACK_BINARY_DIR}/TESTING") 139*bf2c3715SXin Li add_subdirectory(testing/MATGEN) 140*bf2c3715SXin Li add_subdirectory(testing/LIN) 141*bf2c3715SXin Li add_subdirectory(testing/EIG) 142*bf2c3715SXin Li macro(add_lapack_test output input target) 143*bf2c3715SXin Li set(TEST_INPUT "${LAPACK_SOURCE_DIR}/testing/${input}") 144*bf2c3715SXin Li set(TEST_OUTPUT "${LAPACK_BINARY_DIR}/TESTING/${output}") 145*bf2c3715SXin Li string(REPLACE "." "_" input_name ${input}) 146*bf2c3715SXin Li set(testName "${target}_${input_name}") 147*bf2c3715SXin Li if(EXISTS "${TEST_INPUT}") 148*bf2c3715SXin Li add_test(NAME LAPACK-${testName} 149*bf2c3715SXin Li COMMAND "${CMAKE_COMMAND}" 150*bf2c3715SXin Li -DTEST=$<TARGET_FILE:${target}> 151*bf2c3715SXin Li -DINPUT=${TEST_INPUT} 152*bf2c3715SXin Li -DOUTPUT=${TEST_OUTPUT} 153*bf2c3715SXin Li -DINTDIR=${CMAKE_CFG_INTDIR} 154*bf2c3715SXin Li -P "${LAPACK_SOURCE_DIR}/testing/runtest.cmake") 155*bf2c3715SXin Li endif() 156*bf2c3715SXin Li endmacro() 157*bf2c3715SXin Li 158*bf2c3715SXin Li if (BUILD_SINGLE) 159*bf2c3715SXin Li add_lapack_test(stest.out stest.in xlintsts) 160*bf2c3715SXin Li # 161*bf2c3715SXin Li # ======== SINGLE RFP LIN TESTS ======================== 162*bf2c3715SXin Li add_lapack_test(stest_rfp.out stest_rfp.in xlintstrfs) 163*bf2c3715SXin Li # 164*bf2c3715SXin Li # 165*bf2c3715SXin Li # ======== SINGLE EIG TESTS =========================== 166*bf2c3715SXin Li # 167*bf2c3715SXin Li 168*bf2c3715SXin Li add_lapack_test(snep.out nep.in xeigtsts) 169*bf2c3715SXin Li 170*bf2c3715SXin Li 171*bf2c3715SXin Li add_lapack_test(ssep.out sep.in xeigtsts) 172*bf2c3715SXin Li 173*bf2c3715SXin Li 174*bf2c3715SXin Li add_lapack_test(ssvd.out svd.in xeigtsts) 175*bf2c3715SXin Li 176*bf2c3715SXin Li 177*bf2c3715SXin Li add_lapack_test(sec.out sec.in xeigtsts) 178*bf2c3715SXin Li 179*bf2c3715SXin Li 180*bf2c3715SXin Li add_lapack_test(sed.out sed.in xeigtsts) 181*bf2c3715SXin Li 182*bf2c3715SXin Li 183*bf2c3715SXin Li add_lapack_test(sgg.out sgg.in xeigtsts) 184*bf2c3715SXin Li 185*bf2c3715SXin Li 186*bf2c3715SXin Li add_lapack_test(sgd.out sgd.in xeigtsts) 187*bf2c3715SXin Li 188*bf2c3715SXin Li 189*bf2c3715SXin Li add_lapack_test(ssb.out ssb.in xeigtsts) 190*bf2c3715SXin Li 191*bf2c3715SXin Li 192*bf2c3715SXin Li add_lapack_test(ssg.out ssg.in xeigtsts) 193*bf2c3715SXin Li 194*bf2c3715SXin Li 195*bf2c3715SXin Li add_lapack_test(sbal.out sbal.in xeigtsts) 196*bf2c3715SXin Li 197*bf2c3715SXin Li 198*bf2c3715SXin Li add_lapack_test(sbak.out sbak.in xeigtsts) 199*bf2c3715SXin Li 200*bf2c3715SXin Li 201*bf2c3715SXin Li add_lapack_test(sgbal.out sgbal.in xeigtsts) 202*bf2c3715SXin Li 203*bf2c3715SXin Li 204*bf2c3715SXin Li add_lapack_test(sgbak.out sgbak.in xeigtsts) 205*bf2c3715SXin Li 206*bf2c3715SXin Li 207*bf2c3715SXin Li add_lapack_test(sbb.out sbb.in xeigtsts) 208*bf2c3715SXin Li 209*bf2c3715SXin Li 210*bf2c3715SXin Li add_lapack_test(sglm.out glm.in xeigtsts) 211*bf2c3715SXin Li 212*bf2c3715SXin Li 213*bf2c3715SXin Li add_lapack_test(sgqr.out gqr.in xeigtsts) 214*bf2c3715SXin Li 215*bf2c3715SXin Li 216*bf2c3715SXin Li add_lapack_test(sgsv.out gsv.in xeigtsts) 217*bf2c3715SXin Li 218*bf2c3715SXin Li 219*bf2c3715SXin Li add_lapack_test(scsd.out csd.in xeigtsts) 220*bf2c3715SXin Li 221*bf2c3715SXin Li 222*bf2c3715SXin Li add_lapack_test(slse.out lse.in xeigtsts) 223*bf2c3715SXin Li endif() 224*bf2c3715SXin Li 225*bf2c3715SXin Li if (BUILD_DOUBLE) 226*bf2c3715SXin Li # 227*bf2c3715SXin Li # ======== DOUBLE LIN TESTS =========================== 228*bf2c3715SXin Li add_lapack_test(dtest.out dtest.in xlintstd) 229*bf2c3715SXin Li # 230*bf2c3715SXin Li # ======== DOUBLE RFP LIN TESTS ======================== 231*bf2c3715SXin Li add_lapack_test(dtest_rfp.out dtest_rfp.in xlintstrfd) 232*bf2c3715SXin Li # 233*bf2c3715SXin Li # ======== DOUBLE EIG TESTS =========================== 234*bf2c3715SXin Li 235*bf2c3715SXin Li add_lapack_test(dnep.out nep.in xeigtstd) 236*bf2c3715SXin Li 237*bf2c3715SXin Li 238*bf2c3715SXin Li add_lapack_test(dsep.out sep.in xeigtstd) 239*bf2c3715SXin Li 240*bf2c3715SXin Li 241*bf2c3715SXin Li add_lapack_test(dsvd.out svd.in xeigtstd) 242*bf2c3715SXin Li 243*bf2c3715SXin Li 244*bf2c3715SXin Li add_lapack_test(dec.out dec.in xeigtstd) 245*bf2c3715SXin Li 246*bf2c3715SXin Li 247*bf2c3715SXin Li add_lapack_test(ded.out ded.in xeigtstd) 248*bf2c3715SXin Li 249*bf2c3715SXin Li 250*bf2c3715SXin Li add_lapack_test(dgg.out dgg.in xeigtstd) 251*bf2c3715SXin Li 252*bf2c3715SXin Li 253*bf2c3715SXin Li add_lapack_test(dgd.out dgd.in xeigtstd) 254*bf2c3715SXin Li 255*bf2c3715SXin Li 256*bf2c3715SXin Li add_lapack_test(dsb.out dsb.in xeigtstd) 257*bf2c3715SXin Li 258*bf2c3715SXin Li 259*bf2c3715SXin Li add_lapack_test(dsg.out dsg.in xeigtstd) 260*bf2c3715SXin Li 261*bf2c3715SXin Li 262*bf2c3715SXin Li add_lapack_test(dbal.out dbal.in xeigtstd) 263*bf2c3715SXin Li 264*bf2c3715SXin Li 265*bf2c3715SXin Li add_lapack_test(dbak.out dbak.in xeigtstd) 266*bf2c3715SXin Li 267*bf2c3715SXin Li 268*bf2c3715SXin Li add_lapack_test(dgbal.out dgbal.in xeigtstd) 269*bf2c3715SXin Li 270*bf2c3715SXin Li 271*bf2c3715SXin Li add_lapack_test(dgbak.out dgbak.in xeigtstd) 272*bf2c3715SXin Li 273*bf2c3715SXin Li 274*bf2c3715SXin Li add_lapack_test(dbb.out dbb.in xeigtstd) 275*bf2c3715SXin Li 276*bf2c3715SXin Li 277*bf2c3715SXin Li add_lapack_test(dglm.out glm.in xeigtstd) 278*bf2c3715SXin Li 279*bf2c3715SXin Li 280*bf2c3715SXin Li add_lapack_test(dgqr.out gqr.in xeigtstd) 281*bf2c3715SXin Li 282*bf2c3715SXin Li 283*bf2c3715SXin Li add_lapack_test(dgsv.out gsv.in xeigtstd) 284*bf2c3715SXin Li 285*bf2c3715SXin Li 286*bf2c3715SXin Li add_lapack_test(dcsd.out csd.in xeigtstd) 287*bf2c3715SXin Li 288*bf2c3715SXin Li 289*bf2c3715SXin Li add_lapack_test(dlse.out lse.in xeigtstd) 290*bf2c3715SXin Li endif() 291*bf2c3715SXin Li 292*bf2c3715SXin Li if (BUILD_COMPLEX) 293*bf2c3715SXin Li add_lapack_test(ctest.out ctest.in xlintstc) 294*bf2c3715SXin Li # 295*bf2c3715SXin Li # ======== COMPLEX RFP LIN TESTS ======================== 296*bf2c3715SXin Li add_lapack_test(ctest_rfp.out ctest_rfp.in xlintstrfc) 297*bf2c3715SXin Li # 298*bf2c3715SXin Li # ======== COMPLEX EIG TESTS =========================== 299*bf2c3715SXin Li 300*bf2c3715SXin Li add_lapack_test(cnep.out nep.in xeigtstc) 301*bf2c3715SXin Li 302*bf2c3715SXin Li 303*bf2c3715SXin Li add_lapack_test(csep.out sep.in xeigtstc) 304*bf2c3715SXin Li 305*bf2c3715SXin Li 306*bf2c3715SXin Li add_lapack_test(csvd.out svd.in xeigtstc) 307*bf2c3715SXin Li 308*bf2c3715SXin Li 309*bf2c3715SXin Li add_lapack_test(cec.out cec.in xeigtstc) 310*bf2c3715SXin Li 311*bf2c3715SXin Li 312*bf2c3715SXin Li add_lapack_test(ced.out ced.in xeigtstc) 313*bf2c3715SXin Li 314*bf2c3715SXin Li 315*bf2c3715SXin Li add_lapack_test(cgg.out cgg.in xeigtstc) 316*bf2c3715SXin Li 317*bf2c3715SXin Li 318*bf2c3715SXin Li add_lapack_test(cgd.out cgd.in xeigtstc) 319*bf2c3715SXin Li 320*bf2c3715SXin Li 321*bf2c3715SXin Li add_lapack_test(csb.out csb.in xeigtstc) 322*bf2c3715SXin Li 323*bf2c3715SXin Li 324*bf2c3715SXin Li add_lapack_test(csg.out csg.in xeigtstc) 325*bf2c3715SXin Li 326*bf2c3715SXin Li 327*bf2c3715SXin Li add_lapack_test(cbal.out cbal.in xeigtstc) 328*bf2c3715SXin Li 329*bf2c3715SXin Li 330*bf2c3715SXin Li add_lapack_test(cbak.out cbak.in xeigtstc) 331*bf2c3715SXin Li 332*bf2c3715SXin Li 333*bf2c3715SXin Li add_lapack_test(cgbal.out cgbal.in xeigtstc) 334*bf2c3715SXin Li 335*bf2c3715SXin Li 336*bf2c3715SXin Li add_lapack_test(cgbak.out cgbak.in xeigtstc) 337*bf2c3715SXin Li 338*bf2c3715SXin Li 339*bf2c3715SXin Li add_lapack_test(cbb.out cbb.in xeigtstc) 340*bf2c3715SXin Li 341*bf2c3715SXin Li 342*bf2c3715SXin Li add_lapack_test(cglm.out glm.in xeigtstc) 343*bf2c3715SXin Li 344*bf2c3715SXin Li 345*bf2c3715SXin Li add_lapack_test(cgqr.out gqr.in xeigtstc) 346*bf2c3715SXin Li 347*bf2c3715SXin Li 348*bf2c3715SXin Li add_lapack_test(cgsv.out gsv.in xeigtstc) 349*bf2c3715SXin Li 350*bf2c3715SXin Li 351*bf2c3715SXin Li add_lapack_test(ccsd.out csd.in xeigtstc) 352*bf2c3715SXin Li 353*bf2c3715SXin Li 354*bf2c3715SXin Li add_lapack_test(clse.out lse.in xeigtstc) 355*bf2c3715SXin Li endif() 356*bf2c3715SXin Li 357*bf2c3715SXin Li if (BUILD_COMPLEX16) 358*bf2c3715SXin Li # 359*bf2c3715SXin Li # ======== COMPLEX16 LIN TESTS ======================== 360*bf2c3715SXin Li add_lapack_test(ztest.out ztest.in xlintstz) 361*bf2c3715SXin Li # 362*bf2c3715SXin Li # ======== COMPLEX16 RFP LIN TESTS ======================== 363*bf2c3715SXin Li add_lapack_test(ztest_rfp.out ztest_rfp.in xlintstrfz) 364*bf2c3715SXin Li # 365*bf2c3715SXin Li # ======== COMPLEX16 EIG TESTS =========================== 366*bf2c3715SXin Li 367*bf2c3715SXin Li add_lapack_test(znep.out nep.in xeigtstz) 368*bf2c3715SXin Li 369*bf2c3715SXin Li 370*bf2c3715SXin Li add_lapack_test(zsep.out sep.in xeigtstz) 371*bf2c3715SXin Li 372*bf2c3715SXin Li 373*bf2c3715SXin Li add_lapack_test(zsvd.out svd.in xeigtstz) 374*bf2c3715SXin Li 375*bf2c3715SXin Li 376*bf2c3715SXin Li add_lapack_test(zec.out zec.in xeigtstz) 377*bf2c3715SXin Li 378*bf2c3715SXin Li 379*bf2c3715SXin Li add_lapack_test(zed.out zed.in xeigtstz) 380*bf2c3715SXin Li 381*bf2c3715SXin Li 382*bf2c3715SXin Li add_lapack_test(zgg.out zgg.in xeigtstz) 383*bf2c3715SXin Li 384*bf2c3715SXin Li 385*bf2c3715SXin Li add_lapack_test(zgd.out zgd.in xeigtstz) 386*bf2c3715SXin Li 387*bf2c3715SXin Li 388*bf2c3715SXin Li add_lapack_test(zsb.out zsb.in xeigtstz) 389*bf2c3715SXin Li 390*bf2c3715SXin Li 391*bf2c3715SXin Li add_lapack_test(zsg.out zsg.in xeigtstz) 392*bf2c3715SXin Li 393*bf2c3715SXin Li 394*bf2c3715SXin Li add_lapack_test(zbal.out zbal.in xeigtstz) 395*bf2c3715SXin Li 396*bf2c3715SXin Li 397*bf2c3715SXin Li add_lapack_test(zbak.out zbak.in xeigtstz) 398*bf2c3715SXin Li 399*bf2c3715SXin Li 400*bf2c3715SXin Li add_lapack_test(zgbal.out zgbal.in xeigtstz) 401*bf2c3715SXin Li 402*bf2c3715SXin Li 403*bf2c3715SXin Li add_lapack_test(zgbak.out zgbak.in xeigtstz) 404*bf2c3715SXin Li 405*bf2c3715SXin Li 406*bf2c3715SXin Li add_lapack_test(zbb.out zbb.in xeigtstz) 407*bf2c3715SXin Li 408*bf2c3715SXin Li 409*bf2c3715SXin Li add_lapack_test(zglm.out glm.in xeigtstz) 410*bf2c3715SXin Li 411*bf2c3715SXin Li 412*bf2c3715SXin Li add_lapack_test(zgqr.out gqr.in xeigtstz) 413*bf2c3715SXin Li 414*bf2c3715SXin Li 415*bf2c3715SXin Li add_lapack_test(zgsv.out gsv.in xeigtstz) 416*bf2c3715SXin Li 417*bf2c3715SXin Li 418*bf2c3715SXin Li add_lapack_test(zcsd.out csd.in xeigtstz) 419*bf2c3715SXin Li 420*bf2c3715SXin Li 421*bf2c3715SXin Li add_lapack_test(zlse.out lse.in xeigtstz) 422*bf2c3715SXin Li endif() 423*bf2c3715SXin Li 424*bf2c3715SXin Li 425*bf2c3715SXin Li if (BUILD_SIMPLE) 426*bf2c3715SXin Li if (BUILD_DOUBLE) 427*bf2c3715SXin Li # 428*bf2c3715SXin Li # ======== SINGLE-DOUBLE PROTO LIN TESTS ============== 429*bf2c3715SXin Li add_lapack_test(dstest.out dstest.in xlintstds) 430*bf2c3715SXin Li endif() 431*bf2c3715SXin Li endif() 432*bf2c3715SXin Li 433*bf2c3715SXin Li 434*bf2c3715SXin Li if (BUILD_COMPLEX) 435*bf2c3715SXin Li if (BUILD_COMPLEX16) 436*bf2c3715SXin Li # 437*bf2c3715SXin Li # ======== COMPLEX-COMPLEX16 LIN TESTS ======================== 438*bf2c3715SXin Li add_lapack_test(zctest.out zctest.in xlintstzc) 439*bf2c3715SXin Li endif() 440*bf2c3715SXin Li endif() 441*bf2c3715SXin Li 442*bf2c3715SXin Li # ============================================================================== 443*bf2c3715SXin Li 444*bf2c3715SXin Li execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${LAPACK_SOURCE_DIR}/testing/lapack_testing.py ${LAPACK_BINARY_DIR}) 445*bf2c3715SXin Li add_test( 446*bf2c3715SXin Li NAME LAPACK_Test_Summary 447*bf2c3715SXin Li WORKING_DIRECTORY ${LAPACK_BINARY_DIR} 448*bf2c3715SXin Li COMMAND ${PYTHON_EXECUTABLE} "lapack_testing.py" 449*bf2c3715SXin Li ) 450*bf2c3715SXin Li 451*bf2c3715SXin Liendif() 452*bf2c3715SXin Li 453