| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							
- #
 
- #
 
- #
 
- MACRO(ctkMacroExtractOptionNameAndValue my_opt var_opt_name var_opt_value)
 
-  # Make sure option is correctly formated
 
-   IF(NOT "${my_opt}" MATCHES "^[/A-Za-z0-9]+:(ON|OFF)")
 
-     MESSAGE(FATAL_ERROR "Option ${my_opt} is incorrect. Options should be specified using the following format OPT1:[ON|OFF]. For example OPT1:OFF or OPT2:ON")
 
-   ENDIF()
 
-   # Extract option name and option default value
 
-   STRING(REPLACE ":" "\\;" my_opt_list ${my_opt})
 
-   SET(my_opt_list ${my_opt_list})
 
-   LIST(GET my_opt_list 0 ${var_opt_name})
 
-   LIST(GET my_opt_list 1 ${var_opt_value})
 
- ENDMACRO()
 
- #
 
- # Test - Use cmake -DMACRO_TESTING:BOOL=ON -P ctkMacroExtractOptionNameAndValue.cmake
 
- #
 
- IF(MACRO_TESTING)
 
-   MESSAGE("Testing ctkMacroExtractOptionNameAndValue ...")
 
-   #
 
-   # Test1
 
-   #
 
-   SET(test1 "john:ON")
 
-   ctkMacroExtractOptionNameAndValue(${test1} test1_name test1_value)
 
-   
 
-   IF(NOT test1_name STREQUAL "john")
 
-     MESSAGE(FATAL_ERROR "test1_name:${test1_name} - Expected:john")
 
-   ENDIF()
 
-   
 
-   IF(NOT test1_value STREQUAL "ON")
 
-     MESSAGE(FATAL_ERROR "test1_value:${test1_value} - Expected:ON")
 
-   ENDIF()
 
-   #
 
-   # Test2
 
-   #
 
-   SET(test2 "doe/john:OFF")
 
-   ctkMacroExtractOptionNameAndValue(${test2} test2_name test2_value)
 
-   
 
-   IF(NOT test2_name STREQUAL "doe/john")
 
-     MESSAGE(FATAL_ERROR "test1_name:${test2_name} - Expected:doe/john")
 
-   ENDIF()
 
-   
 
-   IF(NOT test2_value STREQUAL "OFF")
 
-     MESSAGE(FATAL_ERROR "test2_value:${test2_value} - Expected:OFF")
 
-   ENDIF()
 
-   
 
- ENDIF()
 
 
  |