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