NativeCommand.cmake 661 B

12345678910111213141516171819
  1. set(unix_cmd "a \"b c\" 'd e' \";\" \\ \\'\\\" '\\'' \"\\\"\"")
  2. set(unix_exp "a;b c;d e;\;; '\";';\"")
  3. set(windows_cmd "a \"b c\" 'd e' \";\" \\ \"c:\\windows\\path\\\\\" \\\"")
  4. set(windows_exp "a;b c;'d;e';\;;\\;c:\\windows\\path\\;\"")
  5. if(CMAKE_HOST_WIN32)
  6. set(native_cmd "${windows_cmd}")
  7. set(native_exp "${windows_exp}")
  8. else()
  9. set(native_cmd "${unix_cmd}")
  10. set(native_exp "${unix_exp}")
  11. endif()
  12. separate_arguments(native_out NATIVE_COMMAND "${native_cmd}")
  13. if(NOT "${native_out}" STREQUAL "${native_exp}")
  14. message(FATAL_ERROR "separate_arguments native-style failed. "
  15. "Expected\n [${native_exp}]\nbut got\n [${native_out}]\n")
  16. endif()