RunCMakeTest.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. include(RunCMake)
  2. set(RunCMake_TEST_NO_CLEAN 1)
  3. set(exportFileName "${RunCMake_BINARY_DIR}/module.cmake")
  4. set(exportNameSpace "ex")
  5. set(exportTargetName "ImportLib")
  6. set(RunCMake_TEST_OPTIONS_BASE ${RunCMake_TEST_OPTIONS}
  7. "-DexportNameSpace:INTERNAL=${exportNameSpace}"
  8. "-DexportTargetName:INTERNAL=${exportTargetName}")
  9. file(REMOVE "${exportFileName}")
  10. # generate C# & C++ assemblies for use as imported target
  11. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ImportLib-build)
  12. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  13. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  14. set(RunCMake_TEST_OPTIONS ${RunCMake_TEST_OPTIONS_BASE}
  15. "-DexportFileName:INTERNAL=${exportFileName}"
  16. # make sure we know the RunCMake_TEST if configuring the project again
  17. # with cmake-gui for debugging.
  18. "-DRunCMake_TEST:INTERNAL=ImportLib")
  19. run_cmake(ImportLib)
  20. run_cmake_command(ImportLib-build ${CMAKE_COMMAND} --build . --config Debug)
  21. # generate C# & managed C++ programs which reference imported managed assemblies.
  22. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ReferenceImport-build)
  23. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  24. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  25. set(RunCMake_TEST_OPTIONS ${RunCMake_TEST_OPTIONS_BASE}
  26. "-DexportFileName:INTERNAL=${exportFileName}"
  27. # make sure we know the RunCMake_TEST if configuring the project again
  28. # with cmake-gui for debugging.
  29. "-DRunCMake_TEST:INTERNAL=ReferenceImport")
  30. run_cmake(ReferenceImport)
  31. run_cmake_command(ReferenceImport-build ${CMAKE_COMMAND} --build . --config Debug)