CMakeLists.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. if(CMake_TEST_FindPython)
  2. add_test(NAME FindPython.Python2.LOCATION COMMAND
  3. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  4. --build-and-test
  5. "${CMake_SOURCE_DIR}/Tests/FindPython/Python2"
  6. "${CMake_BINARY_DIR}/Tests/FindPython/Python2.LOCATION"
  7. ${build_generator_args}
  8. --build-project TestPython2
  9. --build-options ${build_options} -DPython2_FIND_STRATEGY=LOCATION
  10. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  11. )
  12. add_test(NAME FindPython.Python2.VERSION COMMAND
  13. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  14. --build-and-test
  15. "${CMake_SOURCE_DIR}/Tests/FindPython/Python2"
  16. "${CMake_BINARY_DIR}/Tests/FindPython/Python2.VERSION"
  17. ${build_generator_args}
  18. --build-project TestPython2
  19. --build-options ${build_options} -DPython2_FIND_STRATEGY=VERSION
  20. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  21. )
  22. add_test(NAME FindPython.Python2Fail COMMAND
  23. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  24. --build-and-test
  25. "${CMake_SOURCE_DIR}/Tests/FindPython/Python2Fail"
  26. "${CMake_BINARY_DIR}/Tests/FindPython/Python2Fail"
  27. ${build_generator_args}
  28. --build-project TestPython2Fail
  29. --build-options ${build_options}
  30. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  31. )
  32. set_tests_properties(FindPython.Python2Fail PROPERTIES
  33. PASS_REGULAR_EXPRESSION "Could NOT find Python2 \\(missing: foobar\\)")
  34. add_test(NAME FindPython.Python3.LOCATION COMMAND
  35. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  36. --build-and-test
  37. "${CMake_SOURCE_DIR}/Tests/FindPython/Python3"
  38. "${CMake_BINARY_DIR}/Tests/FindPython/Python3.LOCATION"
  39. ${build_generator_args}
  40. --build-project TestPython3
  41. --build-options ${build_options} -DPython3_FIND_STRATEGY=LOCATION
  42. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  43. )
  44. add_test(NAME FindPython.Python3.VERSION COMMAND
  45. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  46. --build-and-test
  47. "${CMake_SOURCE_DIR}/Tests/FindPython/Python3"
  48. "${CMake_BINARY_DIR}/Tests/FindPython/Python3.VERSION"
  49. ${build_generator_args}
  50. --build-project TestPython3
  51. --build-options ${build_options} -DPython3_FIND_STRATEGY=VERSION
  52. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  53. )
  54. add_test(NAME FindPython.Python3Fail COMMAND
  55. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  56. --build-and-test
  57. "${CMake_SOURCE_DIR}/Tests/FindPython/Python3Fail"
  58. "${CMake_BINARY_DIR}/Tests/FindPython/Python3Fail"
  59. ${build_generator_args}
  60. --build-project TestPython3Fail
  61. --build-options ${build_options}
  62. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  63. )
  64. set_tests_properties(FindPython.Python3Fail PROPERTIES
  65. PASS_REGULAR_EXPRESSION "Could NOT find Python3 \\(missing: foobar\\)")
  66. add_test(NAME FindPython.Python.LOCATION COMMAND
  67. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  68. --build-and-test
  69. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  70. "${CMake_BINARY_DIR}/Tests/FindPython/Python.LOCATION"
  71. ${build_generator_args}
  72. --build-project TestPython
  73. --build-options ${build_options} -DPython_FIND_STRATEGY=LOCATION
  74. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  75. )
  76. add_test(NAME FindPython.Python.VERSION COMMAND
  77. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  78. --build-and-test
  79. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  80. "${CMake_BINARY_DIR}/Tests/FindPython/Python.VERSION"
  81. ${build_generator_args}
  82. --build-project TestPython
  83. --build-options ${build_options} -DPython_FIND_STRATEGY=VERSION
  84. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  85. )
  86. add_test(NAME FindPython.Python.V2.LOCATION COMMAND
  87. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  88. --build-and-test
  89. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  90. "${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.LOCATION"
  91. ${build_generator_args}
  92. --build-project TestPython
  93. --build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_FIND_STRATEGY=LOCATION
  94. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  95. )
  96. add_test(NAME FindPython.Python.V2.VERSION COMMAND
  97. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  98. --build-and-test
  99. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  100. "${CMake_BINARY_DIR}/Tests/FindPython/Python.V2.VERSION"
  101. ${build_generator_args}
  102. --build-project TestPython
  103. --build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_FIND_STRATEGY=VERSION
  104. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  105. )
  106. add_test(NAME FindPython.Python.V3.LOCATION COMMAND
  107. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  108. --build-and-test
  109. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  110. "${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.LOCATION"
  111. ${build_generator_args}
  112. --build-project TestPython
  113. --build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_FIND_STRATEGY=LOCATION
  114. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  115. )
  116. add_test(NAME FindPython.Python.V3.VERSION COMMAND
  117. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  118. --build-and-test
  119. "${CMake_SOURCE_DIR}/Tests/FindPython/Python"
  120. "${CMake_BINARY_DIR}/Tests/FindPython/Python.V3.VERSION"
  121. ${build_generator_args}
  122. --build-project TestPython
  123. --build-options ${build_options} -DPython_REQUESTED_VERSION=3 -DPython_FIND_STRATEGY=VERSION
  124. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  125. )
  126. add_test(NAME FindPython.MultiplePackages COMMAND
  127. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  128. --build-and-test
  129. "${CMake_SOURCE_DIR}/Tests/FindPython/MultiplePackages"
  130. "${CMake_BINARY_DIR}/Tests/FindPython/MultiplePackages"
  131. ${build_generator_args}
  132. --build-project TestMultiplePackages
  133. --build-options ${build_options}
  134. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  135. )
  136. add_test(NAME FindPython.VirtualEnv COMMAND
  137. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  138. --build-and-test
  139. "${CMake_SOURCE_DIR}/Tests/FindPython/VirtualEnv"
  140. "${CMake_BINARY_DIR}/Tests/FindPython/VirtualEnv"
  141. ${build_generator_args}
  142. --build-project TestVirtualEnv
  143. --build-options ${build_options}
  144. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  145. )
  146. add_test(NAME FindPython.Python2Embedded COMMAND
  147. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  148. --build-and-test
  149. "${CMake_SOURCE_DIR}/Tests/FindPython/Python2Embedded"
  150. "${CMake_BINARY_DIR}/Tests/FindPython/Python2Embedded"
  151. ${build_generator_args}
  152. --build-project TestPython2Embedded
  153. --build-options ${build_options}
  154. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  155. )
  156. add_test(NAME FindPython.Python3Embedded COMMAND
  157. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  158. --build-and-test
  159. "${CMake_SOURCE_DIR}/Tests/FindPython/Python3Embedded"
  160. "${CMake_BINARY_DIR}/Tests/FindPython/Python3Embedded"
  161. ${build_generator_args}
  162. --build-project TestPython3Embedded
  163. --build-options ${build_options}
  164. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  165. )
  166. add_test(NAME FindPython.RequiredArtifacts COMMAND
  167. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  168. --build-and-test
  169. "${CMake_SOURCE_DIR}/Tests/FindPython/RequiredArtifacts"
  170. "${CMake_BINARY_DIR}/Tests/FindPython/RequiredArtifacts"
  171. ${build_generator_args}
  172. --build-project TestRequiredArtifacts
  173. --build-options ${build_options} "-Dbuild_generator_args=${build_generator_args}"
  174. "-DCMake_SOURCE_DIR=${CMake_SOURCE_DIR}"
  175. "-DCMake_BINARY_DIR=${CMake_BINARY_DIR}"
  176. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  177. )
  178. add_test(NAME FindPython.CustomFailureMessage COMMAND
  179. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  180. --build-and-test
  181. "${CMake_SOURCE_DIR}/Tests/FindPython/CustomFailureMessage"
  182. "${CMake_BINARY_DIR}/Tests/FindPython/CustomFailureMessage"
  183. ${build_generator_args}
  184. --build-project TestCustomFailureMessage
  185. --build-options ${build_options} "-Dbuild_generator_args=${build_generator_args}"
  186. "-DCMake_SOURCE_DIR=${CMake_SOURCE_DIR}"
  187. "-DCMake_BINARY_DIR=${CMake_BINARY_DIR}"
  188. "-DCMake_TEST_FindPython_NumPy=${CMake_TEST_FindPython_NumPy}"
  189. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  190. )
  191. if (CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
  192. add_test(NAME FindPython.Interpreter.SOABI COMMAND
  193. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  194. --build-and-test
  195. "${CMake_SOURCE_DIR}/Tests/FindPython/SOABI"
  196. "${CMake_BINARY_DIR}/Tests/FindPython/SOABI.Interpreter"
  197. ${build_generator_args}
  198. --build-project TestSOABI
  199. --build-options ${build_options} "-Dbuild_generator_args=${build_generator_args}"
  200. "-DCMake_SOURCE_DIR=${CMake_SOURCE_DIR}"
  201. "-DCMake_BINARY_DIR=${CMake_BINARY_DIR}"
  202. "-DCMake_TEST_FindPython_COMPONENT=Interpreter"
  203. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  204. )
  205. add_test(NAME FindPython.Development.SOABI COMMAND
  206. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  207. --build-and-test
  208. "${CMake_SOURCE_DIR}/Tests/FindPython/SOABI"
  209. "${CMake_BINARY_DIR}/Tests/FindPython/SOABI.Development"
  210. ${build_generator_args}
  211. --build-project TestSOABI
  212. --build-options ${build_options} "-Dbuild_generator_args=${build_generator_args}"
  213. "-DCMake_SOURCE_DIR=${CMake_SOURCE_DIR}"
  214. "-DCMake_BINARY_DIR=${CMake_BINARY_DIR}"
  215. "-DCMake_TEST_FindPython_COMPONENT=Development"
  216. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  217. )
  218. endif()
  219. endif()
  220. if(CMake_TEST_FindPython_NumPy)
  221. add_test(NAME FindPython.NumPy COMMAND
  222. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  223. --build-and-test
  224. "${CMake_SOURCE_DIR}/Tests/FindPython/NumPy"
  225. "${CMake_BINARY_DIR}/Tests/FindPython/NumPy"
  226. ${build_generator_args}
  227. --build-project TestNumPy
  228. --build-options ${build_options}
  229. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  230. )
  231. add_test(NAME FindPython.NumPyOnly COMMAND
  232. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  233. --build-and-test
  234. "${CMake_SOURCE_DIR}/Tests/FindPython/NumPyOnly"
  235. "${CMake_BINARY_DIR}/Tests/FindPython/NumPyOnly"
  236. ${build_generator_args}
  237. --build-project TestNumPyOnly
  238. --build-options ${build_options}
  239. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  240. )
  241. endif()
  242. if(CMake_TEST_FindPython_Conda)
  243. add_test(NAME FindPython.VirtualEnvConda COMMAND
  244. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  245. --build-and-test
  246. "${CMake_SOURCE_DIR}/Tests/FindPython/VirtualEnvConda"
  247. "${CMake_BINARY_DIR}/Tests/FindPython/VirtualEnvConda"
  248. ${build_generator_args}
  249. --build-project TestVirtualEnvConda
  250. --build-options ${build_options}
  251. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  252. )
  253. endif()
  254. if(CMake_TEST_FindPython_IronPython)
  255. add_test(NAME FindPython.IronPython2.LOCATION COMMAND
  256. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  257. --build-and-test
  258. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython2"
  259. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython2.LOCATION"
  260. ${build_generator_args}
  261. --build-project TestIronPython2
  262. --build-options ${build_options} -DPython2_FIND_STRATEGY=LOCATION
  263. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  264. )
  265. add_test(NAME FindPython.IronPython2.VERSION COMMAND
  266. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  267. --build-and-test
  268. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython2"
  269. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython2.VERSION"
  270. ${build_generator_args}
  271. --build-project TestIronPython2
  272. --build-options ${build_options} -DPython2_FIND_STRATEGY=VERSION
  273. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  274. )
  275. add_test(NAME FindPython.IronPython.LOCATION COMMAND
  276. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  277. --build-and-test
  278. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
  279. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython.LOCATION"
  280. ${build_generator_args}
  281. --build-project TestIronPython
  282. --build-options ${build_options} -DPython_FIND_STRATEGY=LOCATION
  283. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  284. )
  285. add_test(NAME FindPython.IronPython.VERSION COMMAND
  286. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  287. --build-and-test
  288. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
  289. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython.VERSION"
  290. ${build_generator_args}
  291. --build-project TestIronPython
  292. --build-options ${build_options} -DPython_FIND_STRATEGY=VERSION
  293. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  294. )
  295. add_test(NAME FindPython.IronPython.V2.LOCATION COMMAND
  296. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  297. --build-and-test
  298. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
  299. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython.V2.LOCATION"
  300. ${build_generator_args}
  301. --build-project TestIronPython
  302. --build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_FIND_STRATEGY=LOCATION
  303. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  304. )
  305. add_test(NAME FindPython.IronPython.V2.VERSION COMMAND
  306. ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
  307. --build-and-test
  308. "${CMake_SOURCE_DIR}/Tests/FindPython/IronPython"
  309. "${CMake_BINARY_DIR}/Tests/FindPython/IronPython.V2.VERSION"
  310. ${build_generator_args}
  311. --build-project TestIronPython
  312. --build-options ${build_options} -DPython_REQUESTED_VERSION=2 -DPython_FIND_STRATEGY=VERSION
  313. --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
  314. )
  315. endif()