| include(${CMAKE_CURRENT_LIST_DIR}/test_utils.cmake) |
| |
| function(test1) |
| cmake_parse_arguments(PARSE_ARGV 0 |
| pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2") |
| |
| TEST(pref_OPT1 TRUE) |
| TEST(pref_OPT2 FALSE) |
| TEST(pref_SINGLE1 "foo;bar") |
| TEST(pref_SINGLE2 UNDEFINED) |
| TEST(pref_MULTI1 bar foo bar) |
| TEST(pref_MULTI2 UNDEFINED) |
| TEST(pref_UNPARSED_ARGUMENTS UNDEFINED) |
| endfunction() |
| test1(OPT1 SINGLE1 "foo;bar" MULTI1 bar foo bar) |
| |
| function(test2 arg1) |
| cmake_parse_arguments(PARSE_ARGV 1 |
| pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2") |
| |
| TEST(arg1 "first named") |
| TEST(pref_OPT1 TRUE) |
| TEST(pref_OPT2 FALSE) |
| TEST(pref_SINGLE1 "foo;bar") |
| TEST(pref_SINGLE2 UNDEFINED) |
| TEST(pref_MULTI1 bar "foo;bar") |
| TEST(pref_MULTI2 UNDEFINED) |
| TEST(pref_UNPARSED_ARGUMENTS UNDEFINED) |
| endfunction() |
| test2("first named" OPT1 SINGLE1 "foo;bar" MULTI1 bar "foo;bar") |
| |
| function(test3 arg1) |
| cmake_parse_arguments(PARSE_ARGV 0 |
| pref "" "" "") |
| |
| TEST(pref_UNPARSED_ARGUMENTS "foo;bar" dog cat) |
| endfunction() |
| test3("foo;bar" dog cat) |