module_curl.cmake 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # -----------------------------------------------------------------------------
  2. # Copyright (c) 2015 GarageGames, LLC
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining a copy
  5. # of this software and associated documentation files (the "Software"), to
  6. # deal in the Software without restriction, including without limitation the
  7. # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. # sell copies of the Software, and to permit persons to whom the Software is
  9. # furnished to do so, subject to the following conditions:
  10. #
  11. # The above copyright notice and this permission notice shall be included in
  12. # all copies or substantial portions of the Software.
  13. #
  14. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. # IN THE SOFTWARE.
  21. # -----------------------------------------------------------------------------
  22. option(TORQUE_NET_CURL "Use CURL and enable HTTPObject" OFF)
  23. mark_as_advanced(TORQUE_NET_CURL)
  24. if( NOT TORQUE_NET_CURL )
  25. return()
  26. endif()
  27. addDef( "TORQUE_NET_CURL" )
  28. # curl
  29. set(BUILD_CURL_EXE OFF CACHE INTERNAL "" FORCE)
  30. set(CURL_CA_PATH "none" CACHE INTERNAL "" FORCE)
  31. set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE)
  32. set(CMAKE_USE_LIBSSH2 OFF CACHE INTERNAL "" FORCE)
  33. set(CURL_STATICLIB ON CACHE INTERNAL "" FORCE)
  34. set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE)
  35. set(ENABLE_MANUAL OFF CACHE INTERNAL "" FORCE)
  36. set(ENABLE_UNIX_SOCKETS OFF CACHE INTERNAL "" FORCE)
  37. set(HTTP_ONLY ON CACHE INTERNAL "" FORCE)
  38. set(PICKY_COMPILER ON CACHE INTERNAL "" FORCE)
  39. if(WIN32)
  40. set(CURL_USE_SCHANNEL ON CACHE INTERNAL "" FORCE)
  41. set(CURL_STATIC_CRT ${TORQUE_STATIC} CACHE INTERNAL "" FORCE)
  42. set(ENABLE_INET_PTON ON CACHE INTERNAL "" FORCE)
  43. elseif(APPLE)
  44. set(CURL_USE_OPENSSL OFF CACHE INTERNAL "" FORCE)
  45. set(CURL_USE_SECTRANSP ON CACHE INTERNAL "" FORCE)
  46. endif()
  47. add_subdirectory("${TORQUE_LIB_ROOT_DIRECTORY}/curl" "${CMAKE_CURRENT_BINARY_DIR}/curl")
  48. set(CURL_LIBRARIES libcurl)
  49. set(CURL_INCLUDE_DIRS "${TORQUE_LIB_ROOT_DIRECTORY}/curl/include")
  50. set_property(TARGET libcurl APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS CURL_STATICLIB)
  51. set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libcurl)
  52. set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${TORQUE_LIB_ROOT_DIRECTORY}/curl/src" )