|
|
@@ -0,0 +1,69 @@
|
|
|
+include(${CMAKE_CURRENT_LIST_DIR}/test_utils.cmake)
|
|
|
+include(CMakeParseArguments)
|
|
|
+
|
|
|
+# unparsed arguments
|
|
|
+cmake_parse_arguments(pref "" "" "")
|
|
|
+TEST(pref_UNPARSED_ARGUMENTS UNDEFINED)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "" "" FOO)
|
|
|
+TEST(pref_UNPARSED_ARGUMENTS "FOO")
|
|
|
+cmake_parse_arguments(pref "" "" "" FOO BAR)
|
|
|
+TEST(pref_UNPARSED_ARGUMENTS "FOO;BAR")
|
|
|
+cmake_parse_arguments(pref "" "" "")
|
|
|
+TEST(pref_UNPARSED_ARGUMENTS UNDEFINED)
|
|
|
+
|
|
|
+
|
|
|
+# options
|
|
|
+cmake_parse_arguments(pref "OPT1" "" "")
|
|
|
+TEST(pref_OPT1 FALSE)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "OPT1;OPT2" "" "")
|
|
|
+TEST(pref_OPT1 FALSE)
|
|
|
+TEST(pref_OPT2 FALSE)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "OPT1" "" "" OPT1)
|
|
|
+TEST(pref_OPT1 TRUE)
|
|
|
+cmake_parse_arguments(pref "OPT1;OPT2" "" "" OPT1 OPT2)
|
|
|
+TEST(pref_OPT1 TRUE)
|
|
|
+TEST(pref_OPT2 TRUE)
|
|
|
+cmake_parse_arguments(pref "OPT1;OPT2" "" "")
|
|
|
+TEST(pref_OPT1 FALSE)
|
|
|
+TEST(pref_OPT2 FALSE)
|
|
|
+
|
|
|
+
|
|
|
+# single arguments
|
|
|
+cmake_parse_arguments(pref "" "SINGLE1" "")
|
|
|
+TEST(pref_SINGLE1 UNDEFINED)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "")
|
|
|
+TEST(pref_SINGLE1 UNDEFINED)
|
|
|
+TEST(pref_SINGLE2 UNDEFINED)
|
|
|
+
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "SINGLE1" "" SINGLE1 foo)
|
|
|
+TEST(pref_SINGLE1 foo)
|
|
|
+cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "" SINGLE1 foo SINGLE2 bar)
|
|
|
+TEST(pref_SINGLE1 foo)
|
|
|
+TEST(pref_SINGLE2 bar)
|
|
|
+cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "")
|
|
|
+TEST(pref_SINGLE1 UNDEFINED)
|
|
|
+TEST(pref_SINGLE2 UNDEFINED)
|
|
|
+
|
|
|
+
|
|
|
+# multi arguments
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "" "MULTI1")
|
|
|
+TEST(pref_MULTI1 UNDEFINED)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "" "MULTI1;MULTI2")
|
|
|
+TEST(pref_MULTI1 UNDEFINED)
|
|
|
+TEST(pref_MULTI2 UNDEFINED)
|
|
|
+
|
|
|
+cmake_parse_arguments(pref "" "" "MULTI1" MULTI1 foo)
|
|
|
+TEST(pref_MULTI1 foo)
|
|
|
+cmake_parse_arguments(pref "" "" "MULTI1;MULTI2" MULTI1 foo bar MULTI2 bar foo)
|
|
|
+TEST(pref_MULTI1 foo bar)
|
|
|
+TEST(pref_MULTI2 bar foo)
|
|
|
+cmake_parse_arguments(pref "" "" "MULTI1;MULTI2")
|
|
|
+TEST(pref_MULTI1 UNDEFINED)
|
|
|
+TEST(pref_MULTI2 UNDEFINED)
|