| include(${CMAKE_CURRENT_LIST_DIR}/test_utils.cmake) | |
| # specify two keywords for each category and set the first keyword of each | |
| # within ARGN | |
| cmake_parse_arguments(pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2" | |
| OPT1 SINGLE1 foo MULTI1 bar foo bar) | |
| TEST(pref_OPT1 TRUE) | |
| TEST(pref_OPT2 FALSE) | |
| TEST(pref_SINGLE1 foo) | |
| TEST(pref_SINGLE2 UNDEFINED) | |
| TEST(pref_MULTI1 bar foo bar) | |
| TEST(pref_MULTI2 UNDEFINED) | |
| TEST(pref_UNPARSED_ARGUMENTS UNDEFINED) | |
| # same as above but reversed ARGN | |
| cmake_parse_arguments(pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2" | |
| MULTI1 bar foo bar SINGLE1 foo OPT1) | |
| TEST(pref_OPT1 TRUE) | |
| TEST(pref_OPT2 FALSE) | |
| TEST(pref_SINGLE1 foo) | |
| TEST(pref_SINGLE2 UNDEFINED) | |
| TEST(pref_MULTI1 bar foo bar) | |
| TEST(pref_MULTI2 UNDEFINED) | |
| TEST(pref_UNPARSED_ARGUMENTS UNDEFINED) |