Mix.cmake 831 B

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