OperatingSystem.cmake 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. include_guard(DIRECTORY)
  2. function(qm_get_windows_proxy _out)
  3. if(NOT WIN32)
  4. return()
  5. endif()
  6. execute_process(
  7. COMMAND reg query "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /v ProxyEnable
  8. OUTPUT_VARIABLE _proxy_enable_output
  9. OUTPUT_STRIP_TRAILING_WHITESPACE
  10. ERROR_QUIET
  11. )
  12. if(NOT _proxy_enable_output MATCHES "ProxyEnable[ \t\r\n]+REG_DWORD[ \t\r\n]+0x1")
  13. return()
  14. endif()
  15. execute_process(
  16. COMMAND reg query "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" /v ProxyServer
  17. OUTPUT_VARIABLE _proxy_server_output
  18. OUTPUT_STRIP_TRAILING_WHITESPACE
  19. ERROR_QUIET
  20. )
  21. if(NOT _proxy_server_output MATCHES "ProxyServer[ \t\r\n]+REG_SZ[ \t\r\n]+(.*)")
  22. return()
  23. endif()
  24. set(${_out} ${CMAKE_MATCH_1} PARENT_SCOPE)
  25. endfunction()
  26. macro(qm_set_proxy_env _proxy)
  27. set(ENV{HTTP_PROXY} "http://${_proxy}")
  28. set(ENV{HTTPS_PROXY} "http://${_proxy}")
  29. set(ENV{ALL_PROXY} "http://${_proxy}")
  30. endmacro()