You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 6.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. if(MSVC_VERSION)
  2. # string(REPLACE "/STACK:10000000" "/STACK:900000000000000000"
  3. # CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
  4. string(REGEX REPLACE "(.*)/STACK:(.*) (.*)" "\\1/STACK:900000000000000000 \\3"
  5. CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
  6. endif()
  7. add_subdirectory(MATGEN)
  8. add_subdirectory(LIN)
  9. add_subdirectory(EIG)
  10. macro(add_lapack_test output input target)
  11. set(TEST_INPUT "${LAPACK_SOURCE_DIR}/TESTING/${input}")
  12. set(TEST_OUTPUT "${LAPACK_BINARY_DIR}/TESTING/${output}")
  13. get_target_property(TEST_LOC ${target} LOCATION)
  14. string(REPLACE "." "_" input_name ${input})
  15. set(testName "${target}_${input_name}")
  16. if(EXISTS "${TEST_INPUT}")
  17. add_test(LAPACK-${testName} "${CMAKE_COMMAND}"
  18. -DTEST=${TEST_LOC}
  19. -DINPUT=${TEST_INPUT}
  20. -DOUTPUT=${TEST_OUTPUT}
  21. -DINTDIR=${CMAKE_CFG_INTDIR}
  22. -P "${LAPACK_SOURCE_DIR}/TESTING/runtest.cmake")
  23. endif()
  24. endmacro(add_lapack_test)
  25. if (BUILD_SINGLE)
  26. add_lapack_test(stest.out stest.in xlintsts)
  27. #
  28. # ======== SINGLE RFP LIN TESTS ========================
  29. add_lapack_test(stest_rfp.out stest_rfp.in xlintstrfs)
  30. #
  31. #
  32. # ======== SINGLE EIG TESTS ===========================
  33. #
  34. add_lapack_test(snep.out nep.in xeigtsts)
  35. add_lapack_test(ssep.out sep.in xeigtsts)
  36. add_lapack_test(ssvd.out svd.in xeigtsts)
  37. add_lapack_test(sec.out sec.in xeigtsts)
  38. add_lapack_test(sed.out sed.in xeigtsts)
  39. add_lapack_test(sgg.out sgg.in xeigtsts)
  40. add_lapack_test(sgd.out sgd.in xeigtsts)
  41. add_lapack_test(ssb.out ssb.in xeigtsts)
  42. add_lapack_test(ssg.out ssg.in xeigtsts)
  43. add_lapack_test(sbal.out sbal.in xeigtsts)
  44. add_lapack_test(sbak.out sbak.in xeigtsts)
  45. add_lapack_test(sgbal.out sgbal.in xeigtsts)
  46. add_lapack_test(sgbak.out sgbak.in xeigtsts)
  47. add_lapack_test(sbb.out sbb.in xeigtsts)
  48. add_lapack_test(sglm.out glm.in xeigtsts)
  49. add_lapack_test(sgqr.out gqr.in xeigtsts)
  50. add_lapack_test(sgsv.out gsv.in xeigtsts)
  51. add_lapack_test(scsd.out csd.in xeigtsts)
  52. add_lapack_test(slse.out lse.in xeigtsts)
  53. endif()
  54. if (BUILD_DOUBLE)
  55. #
  56. # ======== DOUBLE LIN TESTS ===========================
  57. add_lapack_test(dtest.out dtest.in xlintstd)
  58. #
  59. # ======== DOUBLE RFP LIN TESTS ========================
  60. add_lapack_test(dtest_rfp.out dtest_rfp.in xlintstrfd)
  61. #
  62. # ======== DOUBLE EIG TESTS ===========================
  63. add_lapack_test(dnep.out nep.in xeigtstd)
  64. add_lapack_test(dsep.out sep.in xeigtstd)
  65. add_lapack_test(dsvd.out svd.in xeigtstd)
  66. add_lapack_test(dec.out dec.in xeigtstd)
  67. add_lapack_test(ded.out ded.in xeigtstd)
  68. add_lapack_test(dgg.out dgg.in xeigtstd)
  69. add_lapack_test(dgd.out dgd.in xeigtstd)
  70. add_lapack_test(dsb.out dsb.in xeigtstd)
  71. add_lapack_test(dsg.out dsg.in xeigtstd)
  72. add_lapack_test(dbal.out dbal.in xeigtstd)
  73. add_lapack_test(dbak.out dbak.in xeigtstd)
  74. add_lapack_test(dgbal.out dgbal.in xeigtstd)
  75. add_lapack_test(dgbak.out dgbak.in xeigtstd)
  76. add_lapack_test(dbb.out dbb.in xeigtstd)
  77. add_lapack_test(dglm.out glm.in xeigtstd)
  78. add_lapack_test(dgqr.out gqr.in xeigtstd)
  79. add_lapack_test(dgsv.out gsv.in xeigtstd)
  80. add_lapack_test(dcsd.out csd.in xeigtstd)
  81. add_lapack_test(dlse.out lse.in xeigtstd)
  82. endif()
  83. if (BUILD_COMPLEX)
  84. add_lapack_test(ctest.out ctest.in xlintstc)
  85. #
  86. # ======== COMPLEX RFP LIN TESTS ========================
  87. add_lapack_test(ctest_rfp.out ctest_rfp.in xlintstrfc)
  88. #
  89. # ======== COMPLEX EIG TESTS ===========================
  90. add_lapack_test(cnep.out nep.in xeigtstc)
  91. add_lapack_test(csep.out sep.in xeigtstc)
  92. add_lapack_test(csvd.out svd.in xeigtstc)
  93. add_lapack_test(cec.out cec.in xeigtstc)
  94. add_lapack_test(ced.out ced.in xeigtstc)
  95. add_lapack_test(cgg.out cgg.in xeigtstc)
  96. add_lapack_test(cgd.out cgd.in xeigtstc)
  97. add_lapack_test(csb.out csb.in xeigtstc)
  98. add_lapack_test(csg.out csg.in xeigtstc)
  99. add_lapack_test(cbal.out cbal.in xeigtstc)
  100. add_lapack_test(cbak.out cbak.in xeigtstc)
  101. add_lapack_test(cgbal.out cgbal.in xeigtstc)
  102. add_lapack_test(cgbak.out cgbak.in xeigtstc)
  103. add_lapack_test(cbb.out cbb.in xeigtstc)
  104. add_lapack_test(cglm.out glm.in xeigtstc)
  105. add_lapack_test(cgqr.out gqr.in xeigtstc)
  106. add_lapack_test(cgsv.out gsv.in xeigtstc)
  107. add_lapack_test(ccsd.out csd.in xeigtstc)
  108. add_lapack_test(clse.out lse.in xeigtstc)
  109. endif()
  110. if (BUILD_COMPLEX16)
  111. #
  112. # ======== COMPLEX16 LIN TESTS ========================
  113. add_lapack_test(ztest.out ztest.in xlintstz)
  114. #
  115. # ======== COMPLEX16 RFP LIN TESTS ========================
  116. add_lapack_test(ztest_rfp.out ztest_rfp.in xlintstrfz)
  117. #
  118. # ======== COMPLEX16 EIG TESTS ===========================
  119. add_lapack_test(znep.out nep.in xeigtstz)
  120. add_lapack_test(zsep.out sep.in xeigtstz)
  121. add_lapack_test(zsvd.out svd.in xeigtstz)
  122. add_lapack_test(zec.out zec.in xeigtstz)
  123. add_lapack_test(zed.out zed.in xeigtstz)
  124. add_lapack_test(zgg.out zgg.in xeigtstz)
  125. add_lapack_test(zgd.out zgd.in xeigtstz)
  126. add_lapack_test(zsb.out zsb.in xeigtstz)
  127. add_lapack_test(zsg.out zsg.in xeigtstz)
  128. add_lapack_test(zbal.out zbal.in xeigtstz)
  129. add_lapack_test(zbak.out zbak.in xeigtstz)
  130. add_lapack_test(zgbal.out zgbal.in xeigtstz)
  131. add_lapack_test(zgbak.out zgbak.in xeigtstz)
  132. add_lapack_test(zbb.out zbb.in xeigtstz)
  133. add_lapack_test(zglm.out glm.in xeigtstz)
  134. add_lapack_test(zgqr.out gqr.in xeigtstz)
  135. add_lapack_test(zgsv.out gsv.in xeigtstz)
  136. add_lapack_test(zcsd.out csd.in xeigtstz)
  137. add_lapack_test(zlse.out lse.in xeigtstz)
  138. endif()
  139. if (BUILD_SIMPLE)
  140. if (BUILD_DOUBLE)
  141. #
  142. # ======== SINGLE-DOUBLE PROTO LIN TESTS ==============
  143. add_lapack_test(dstest.out dstest.in xlintstds)
  144. endif()
  145. endif()
  146. if (BUILD_COMPLEX)
  147. if (BUILD_COMPLEX16)
  148. #
  149. # ======== COMPLEX-COMPLEX16 LIN TESTS ========================
  150. add_lapack_test(zctest.out zctest.in xlintstzc)
  151. endif()
  152. endif()
  153. # ==============================================================================
  154. execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${LAPACK_SOURCE_DIR}/lapack_testing.py ${LAPACK_BINARY_DIR})
  155. add_test(
  156. NAME LAPACK_Test_Summary
  157. WORKING_DIRECTORY ${LAPACK_BINARY_DIR}
  158. COMMAND ${PYTHON_EXECUTABLE} "lapack_testing.py"
  159. )