CornerCasesArgvN.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. include(${CMAKE_CURRENT_LIST_DIR}/test_utils.cmake)
  2. function(test1)
  3. cmake_parse_arguments(PARSE_ARGV 0
  4. mpref "" "" "MULTI")
  5. TEST(mpref_MULTI foo "foo\;bar")
  6. cmake_parse_arguments(PARSE_ARGV 1
  7. upref "" "" "MULTI")
  8. TEST(upref_UNPARSED_ARGUMENTS foo "foo\;bar")
  9. endfunction()
  10. test1(MULTI foo "foo\;bar")
  11. function(test2)
  12. cmake_parse_arguments(PARSE_ARGV 0
  13. mpref "" "" "MULTI")
  14. TEST(mpref_MULTI "foo;" "bar;")
  15. cmake_parse_arguments(PARSE_ARGV 1
  16. upref "" "" "MULTI")
  17. TEST(upref_UNPARSED_ARGUMENTS "foo;" "bar;")
  18. endfunction()
  19. test2(MULTI "foo;" "bar;")
  20. function(test3)
  21. cmake_parse_arguments(PARSE_ARGV 0
  22. mpref "" "" "MULTI")
  23. TEST(mpref_MULTI "[foo;]" "bar\\")
  24. cmake_parse_arguments(PARSE_ARGV 1
  25. upref "" "" "MULTI")
  26. TEST(upref_UNPARSED_ARGUMENTS "[foo;]" "bar\\")
  27. endfunction()
  28. test3(MULTI "[foo;]" "bar\\")
  29. function(test4)
  30. cmake_parse_arguments(PARSE_ARGV 0
  31. mpref "" "" "MULTI")
  32. TEST(mpref_MULTI foo "bar;none")
  33. cmake_parse_arguments(PARSE_ARGV 1
  34. upref "" "" "MULTI")
  35. TEST(upref_UNPARSED_ARGUMENTS foo "bar;none")
  36. endfunction()
  37. test4(MULTI foo bar\\ none)