RunCMakeTest.cmake 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. include(RunCMake)
  2. if(RunCMake_GENERATOR STREQUAL "Xcode")
  3. run_cmake(ConfigNotAllowed)
  4. endif()
  5. run_cmake(EmptyKeywordArgs)
  6. run_cmake(OriginDebug)
  7. run_cmake(CMP0026-LOCATION)
  8. run_cmake(CMP0076-OLD)
  9. run_cmake(CMP0076-WARN)
  10. run_cmake(RelativePathInInterface)
  11. run_cmake(RelativePathInSubdirGenEx)
  12. run_cmake(RelativePathInSubdirInterface)
  13. run_cmake(RelativePathInSubdirPrivate)
  14. run_cmake(RelativePathInSubdirInclude)
  15. run_cmake(ExportBuild)
  16. run_cmake(AddCustomTargetPublicSources)
  17. run_cmake(AddCustomTargetPrivateSources)
  18. run_cmake(AddCustomTargetInterfaceSources)
  19. run_cmake(AddCustomTargetSources)
  20. run_cmake(AddCustomTargetCheckProperty)
  21. run_cmake(AddCustomTargetGenx)
  22. run_cmake(FileSetProperties)
  23. run_cmake(FileSetNoType)
  24. run_cmake(FileSetWrongType)
  25. run_cmake(FileSetDefaultWrongType)
  26. run_cmake(FileSetChangeScope)
  27. run_cmake(FileSetChangeType)
  28. run_cmake(FileSetWrongBaseDirs)
  29. run_cmake(FileSetWrongBaseDirsRelative)
  30. run_cmake(FileSetOverlappingBaseDirs)
  31. run_cmake(FileSetInstallMissingSetsPrivate)
  32. run_cmake(FileSetInstallMissingSetsInterface)
  33. run_cmake(FileSetNoScope)
  34. run_cmake(FileSetNoExistPrivate)
  35. run_cmake(FileSetNoExistInterface)
  36. run_cmake(FileSetNoExistInstall)
  37. run_cmake(FileSetDirectories)
  38. set(RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0115=NEW)
  39. run_cmake(FileSetFileNoExist)
  40. unset(RunCMake_TEST_OPTIONS)
  41. function(run_export_import name)
  42. if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
  43. set(_config_options "-DCMAKE_CONFIGURATION_TYPES=Debug\\\\;Release")
  44. else()
  45. set(_config_options -DCMAKE_BUILD_TYPE=Debug)
  46. endif()
  47. set(RunCMake_TEST_NO_CLEAN 1)
  48. set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${name}Export-build")
  49. set(RunCMake_TEST_OPTIONS "--install-prefix=${RunCMake_TEST_BINARY_DIR}/install" ${_config_options})
  50. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  51. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  52. run_cmake(${name}Export)
  53. run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --build . --config Debug)
  54. run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --install . --config Debug)
  55. if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
  56. run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --build . --config Release)
  57. run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --install . --config Release)
  58. endif()
  59. unset(RunCMake_TEST_OPTIONS)
  60. set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${name}Import-build")
  61. unset(RunCMake_TEST_OPTIONS)
  62. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  63. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  64. run_cmake(${name}Import)
  65. run_cmake_command(${name}Import-build ${CMAKE_COMMAND} --build . --config Debug)
  66. if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
  67. run_cmake_command(${name}Import-build ${CMAKE_COMMAND} --build . --config Release)
  68. endif()
  69. unset(RunCMake_TEST_BINARY_DIR)
  70. unset(RunCMake_TEST_NO_CLEAN)
  71. endfunction()
  72. run_export_import(FileSet)