1include(${CMAKE_CURRENT_LIST_DIR}/test_utils.cmake)
2
3# specify two keywords for each category and set the first keyword of each
4# within ARGN
5cmake_parse_arguments(pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2"
6                        OPT1 SINGLE1 foo MULTI1 bar foo bar)
7TEST(pref_OPT1 TRUE)
8TEST(pref_OPT2 FALSE)
9TEST(pref_SINGLE1 foo)
10TEST(pref_SINGLE2 UNDEFINED)
11TEST(pref_MULTI1 bar foo bar)
12TEST(pref_MULTI2 UNDEFINED)
13TEST(pref_UNPARSED_ARGUMENTS UNDEFINED)
14
15# same as above but reversed ARGN
16cmake_parse_arguments(pref "OPT1;OPT2" "SINGLE1;SINGLE2" "MULTI1;MULTI2"
17                        MULTI1 bar foo bar SINGLE1 foo OPT1)
18TEST(pref_OPT1 TRUE)
19TEST(pref_OPT2 FALSE)
20TEST(pref_SINGLE1 foo)
21TEST(pref_SINGLE2 UNDEFINED)
22TEST(pref_MULTI1 bar foo bar)
23TEST(pref_MULTI2 UNDEFINED)
24TEST(pref_UNPARSED_ARGUMENTS UNDEFINED)
25