CMakeLists.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #
  2. # libwebsockets - small server side websockets and web server implementation
  3. #
  4. # Copyright (C) 2010 - 2020 Andy Green <[email protected]>
  5. #
  6. # Permission is hereby granted, free of charge, to any person obtaining a copy
  7. # of this software and associated documentation files (the "Software"), to
  8. # deal in the Software without restriction, including without limitation the
  9. # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  10. # sell copies of the Software, and to permit persons to whom the Software is
  11. # furnished to do so, subject to the following conditions:
  12. #
  13. # The above copyright notice and this permission notice shall be included in
  14. # all copies or substantial portions of the Software.
  15. #
  16. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  21. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  22. # IN THE SOFTWARE.
  23. #
  24. # The strategy is to only export to PARENT_SCOPE
  25. #
  26. # - changes to LIB_LIST
  27. # - includes via include_directories
  28. #
  29. # and keep everything else private
  30. include_directories(.)
  31. set(LWS_GLIB_INCLUDE_DIRS CACHE PATH "Path to the glib include directory")
  32. set(LWS_GLIB_LIBRARIES CACHE PATH "Path to the glib library")
  33. include (FindPkgConfig)
  34. if (NOT GLIB_FOUND)
  35. find_path(GLIB_INCLUDE_DIRS NAMES glib-2.0/glib.h)
  36. find_library(GLIB_LIBRARIES NAMES glib-2.0)
  37. if (GLIB_INCLUDE_DIRS AND GLIB_LIBRARIES)
  38. set(GLIB_FOUND)
  39. endif()
  40. if (GLIB_INCLUDE_DIRS)
  41. set(GLIB_INCLUDE_DIRS "${GLIB_INCLUDE_DIRS}/glib-2.0" PARENT_SCOPE)
  42. endif()
  43. endif()
  44. PKG_SEARCH_MODULE(LWS_GLIB2 glib-2.0)
  45. if (LWS_GLIB2_FOUND)
  46. list(APPEND GLIB_INCLUDE_DIRS "${LWS_GLIB2_INCLUDE_DIRS}")
  47. endif()
  48. message("glib include dir: ${GLIB_INCLUDE_DIRS}")
  49. message("glib libraries: ${GLIB_LIBRARIES}")
  50. include_directories("${GLIB_INCLUDE_DIRS}")
  51. if (LWS_WITH_EVLIB_PLUGINS)
  52. create_evlib_plugin(evlib_glib
  53. glib.c
  54. private-lib-event-libs-glib.h
  55. ${GLIB_LIBRARIES})
  56. else()
  57. list(APPEND LIB_LIST ${GLIB_LIBRARIES})
  58. if (LWS_WITH_NETWORK)
  59. list(APPEND SOURCES
  60. event-libs/glib/glib.c)
  61. endif()
  62. endif()
  63. #
  64. # Keep explicit parent scope exports at end
  65. #
  66. exports_to_parent_scope()