|
@@ -0,0 +1,85 @@
|
|
|
+
|
|
|
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_MODULE_PATH})
|
|
|
+include(ctkMacroCheckExternalProjectDependency)
|
|
|
+
|
|
|
+#
|
|
|
+# cmake -DTEST_superbuild_cmakevar_to_cmakearg_test:BOOL=ON -P ctkMacroCheckExternalProjectDependencyTest.cmake
|
|
|
+#
|
|
|
+function(superbuild_cmakevar_to_cmakearg_test)
|
|
|
+ function(check_test_result id current_output expected_output
|
|
|
+ current_varname expected_varname
|
|
|
+ current_vartype expected_vartype)
|
|
|
+ if(NOT "${current_output}" STREQUAL "${expected_output}")
|
|
|
+ message(FATAL_ERROR "Problem with superbuild_cmakevar_to_cmakearg() - See testcase: ${id}\n"
|
|
|
+ "current_output:${current_output}\n"
|
|
|
+ "expected_output:${expected_output}")
|
|
|
+ endif()
|
|
|
+ if(NOT "${current_varname}" STREQUAL "${expected_varname}")
|
|
|
+ message(FATAL_ERROR "Problem with superbuild_cmakevar_to_cmakearg() - See testcase: ${id}\n"
|
|
|
+ "current_varname:${current_varname}\n"
|
|
|
+ "expected_varname:${expected_varname}")
|
|
|
+ endif()
|
|
|
+ if(NOT "${current_vartype}" STREQUAL "${expected_vartype}")
|
|
|
+ message(FATAL_ERROR "Problem with superbuild_cmakevar_to_cmakearg() - See testcase: ${id}\n"
|
|
|
+ "current_vartype:${current_vartype}\n"
|
|
|
+ "expected_vartype:${expected_vartype}")
|
|
|
+ endif()
|
|
|
+ endfunction()
|
|
|
+
|
|
|
+ set(id 1)
|
|
|
+ set(case${id}_input "Hello")
|
|
|
+ set(case${id}_expected_varname "")
|
|
|
+ set(case${id}_expected_vartype "")
|
|
|
+ set(case${id}_expected_cmake_arg_var "-Dcase${id}_input:STRING=${case${id}_input}")
|
|
|
+ superbuild_cmakevar_to_cmakearg("case${id}_input:STRING"
|
|
|
+ case${id}_cmake_arg_var CMAKE_CACHE
|
|
|
+ )
|
|
|
+ check_test_result(${id}
|
|
|
+ "${case${id}_cmake_arg_var}" "${case${id}_expected_cmake_arg_var}"
|
|
|
+ "${case${id}_varname}" "${case${id}_expected_varname}"
|
|
|
+ "${case${id}_vartype}" "${case${id}_expected_vartype}")
|
|
|
+
|
|
|
+ set(id 2)
|
|
|
+ set(case${id}_input "Hello")
|
|
|
+ set(case${id}_expected_varname "case${id}_input")
|
|
|
+ set(case${id}_expected_vartype "STRING")
|
|
|
+ set(case${id}_expected_cmake_arg_var "-Dcase${id}_input:STRING=${case${id}_input}")
|
|
|
+ superbuild_cmakevar_to_cmakearg("case${id}_input:STRING"
|
|
|
+ case${id}_cmake_arg_var CMAKE_CACHE
|
|
|
+ case${id}_varname case${id}_vartype)
|
|
|
+ check_test_result(${id}
|
|
|
+ "${case${id}_cmake_arg_var}" "${case${id}_expected_cmake_arg_var}"
|
|
|
+ "${case${id}_varname}" "${case${id}_expected_varname}"
|
|
|
+ "${case${id}_vartype}" "${case${id}_expected_vartype}")
|
|
|
+
|
|
|
+ set(id 3)
|
|
|
+ set(case${id}_input Hello World)
|
|
|
+ set(case${id}_expected_varname "case${id}_input")
|
|
|
+ set(case${id}_expected_vartype "STRING")
|
|
|
+ set(case${id}_expected_cmake_arg_var "-Dcase${id}_input:STRING=${case${id}_input}")
|
|
|
+ superbuild_cmakevar_to_cmakearg("case${id}_input:STRING"
|
|
|
+ case${id}_cmake_arg_var CMAKE_CACHE
|
|
|
+ case${id}_varname case${id}_vartype)
|
|
|
+ check_test_result(${id}
|
|
|
+ "${case${id}_cmake_arg_var}" "${case${id}_expected_cmake_arg_var}"
|
|
|
+ "${case${id}_varname}" "${case${id}_expected_varname}"
|
|
|
+ "${case${id}_vartype}" "${case${id}_expected_vartype}")
|
|
|
+
|
|
|
+ set(id 4)
|
|
|
+ set(case${id}_input Hello World)
|
|
|
+ set(case${id}_expected_varname "case${id}_input")
|
|
|
+ set(case${id}_expected_vartype "STRING")
|
|
|
+ set(case${id}_expected_cmake_arg_var "-Dcase${id}_input:STRING=Hello^^World")
|
|
|
+ superbuild_cmakevar_to_cmakearg("case${id}_input:STRING"
|
|
|
+ case${id}_cmake_arg_var CMAKE_CMD
|
|
|
+ case${id}_varname case${id}_vartype)
|
|
|
+ check_test_result(${id}
|
|
|
+ "${case${id}_cmake_arg_var}" "${case${id}_expected_cmake_arg_var}"
|
|
|
+ "${case${id}_varname}" "${case${id}_expected_varname}"
|
|
|
+ "${case${id}_vartype}" "${case${id}_expected_vartype}")
|
|
|
+
|
|
|
+ message("SUCCESS")
|
|
|
+endfunction()
|
|
|
+if(TEST_superbuild_cmakevar_to_cmakearg_test)
|
|
|
+ superbuild_cmakevar_to_cmakearg_test()
|
|
|
+endif()
|