defaults.cmake 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # CMake Linux defaults module
  2. # cmake-format: off
  3. # cmake-lint: disable=C0103
  4. # cmake-lint: disable=C0111
  5. # cmake-format: on
  6. include_guard(GLOBAL)
  7. include(GNUInstallDirs)
  8. # Enable find_package targets to become globally available targets
  9. set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL TRUE)
  10. set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
  11. set(CPACK_PACKAGE_VERSION "${CMAKE_PROJECT_VERSION}")
  12. set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_C_LIBRARY_ARCHITECTURE}")
  13. set(CPACK_GENERATOR "DEB")
  14. set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
  15. set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${PLUGIN_EMAIL}")
  16. set(CPACK_SET_DESTDIR ON)
  17. if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.25.0 OR NOT CMAKE_CROSSCOMPILING)
  18. set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
  19. endif()
  20. set(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/release")
  21. set(CPACK_SOURCE_GENERATOR "TXZ")
  22. set(CPACK_SOURCE_IGNORE_FILES
  23. # cmake-format: sortable
  24. ".*~$"
  25. \\.git/
  26. \\.github/
  27. \\.gitignore
  28. build_.*
  29. cmake/\\.CMakeBuildNumber
  30. release/)
  31. set(CPACK_VERBATIM_VARIABLES YES)
  32. set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-source")
  33. set(CPACK_ARCHIVE_THREADS 0)
  34. include(CPack)
  35. find_package(libobs QUIET)
  36. if(NOT TARGET OBS::libobs)
  37. find_package(LibObs REQUIRED)
  38. add_library(OBS::libobs ALIAS libobs)
  39. if(ENABLE_FRONTEND_API)
  40. find_path(
  41. obs-frontend-api_INCLUDE_DIR
  42. NAMES obs-frontend-api.h
  43. PATHS /usr/include /usr/local/include
  44. PATH_SUFFIXES obs)
  45. find_library(
  46. obs-frontend-api_LIBRARY
  47. NAMES obs-frontend-api
  48. PATHS /usr/lib /usr/local/lib)
  49. if(obs-frontend-api_LIBRARY)
  50. if(NOT TARGET OBS::obs-frontend-api)
  51. if(IS_ABSOLUTE "${obs-frontend-api_LIBRARY}")
  52. add_library(OBS::obs-frontend-api UNKNOWN IMPORTED)
  53. set_property(TARGET OBS::obs-frontend-api PROPERTY IMPORTED_LOCATION "${obs-frontend-api_LIBRARY}")
  54. else()
  55. add_library(OBS::obs-frontend-api INTERFACE IMPORTED)
  56. set_property(TARGET OBS::obs-frontend-api PROPERTY IMPORTED_LIBNAME "${obs-frontend-api_LIBRARY}")
  57. endif()
  58. set_target_properties(OBS::obs-frontend-api PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  59. "${obs-frontend-api_INCLUDE_DIR}")
  60. endif()
  61. endif()
  62. endif()
  63. macro(find_package)
  64. if(NOT "${ARGV0}" STREQUAL libobs AND NOT "${ARGV0}" STREQUAL obs-frontend-api)
  65. _find_package(${ARGV})
  66. endif()
  67. endmacro()
  68. endif()