CMakeLists.txt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. # - changes to SOURCES
  28. # - includes via include_directories
  29. #
  30. # and keep everything else private
  31. include_directories(.)
  32. list(APPEND SOURCES
  33. roles/dbus/dbus.c)
  34. if (NOT LWS_DBUS_LIB)
  35. set(LWS_DBUS_LIB "dbus-1")
  36. endif()
  37. find_package(PkgConfig QUIET)
  38. pkg_check_modules(PC_DBUS1 dbus-1 QUIET)
  39. list(APPEND LWS_DBUS_INCLUDE1 ${PC_DBUS1_INCLUDE_DIRS})
  40. list(APPEND LWS_DBUS_LIB ${PC_DBUS1_LIBRARIES})
  41. list(APPEND LWS_DEPS_LIB_PATHS ${PC_DBUS1_LIBRARY_DIRS})
  42. set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES};${LWS_DBUS_INCLUDE1})
  43. CHECK_C_SOURCE_COMPILES("#include <dbus/dbus.h>
  44. int main(void) {
  45. return 0;
  46. }" LWS_DBUS_CHECK_OK)
  47. message("dbus include dir 1: ${LWS_DBUS_INCLUDE1}")
  48. include_directories("${LWS_DBUS_INCLUDE1}")
  49. list(APPEND LIB_LIST ${LWS_DBUS_LIB})
  50. #
  51. # Keep explicit parent scope exports at end
  52. #
  53. exports_to_parent_scope()
  54. set(LWS_DBUS_CHECK_OK ${LWS_DBUS_CHECK_OK} PARENT_SCOPE)
  55. set(LWS_DEPS_LIB_PATHS ${LWS_DEPS_LIB_PATHS} PARENT_SCOPE)