defaults.cmake 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # CMake Linux defaults module
  2. include_guard(GLOBAL)
  3. # Set default installation directories
  4. include(GNUInstallDirs)
  5. if(CMAKE_INSTALL_LIBDIR MATCHES "(CMAKE_SYSTEM_PROCESSOR)")
  6. string(REPLACE "CMAKE_SYSTEM_PROCESSOR" "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}")
  7. endif()
  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(
  23. CPACK_SOURCE_IGNORE_FILES
  24. ".*~$"
  25. \\.git/
  26. \\.github/
  27. \\.gitignore
  28. \\.ccache/
  29. build_.*
  30. cmake/\\.CMakeBuildNumber
  31. release/
  32. )
  33. set(CPACK_VERBATIM_VARIABLES YES)
  34. set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-source")
  35. set(CPACK_ARCHIVE_THREADS 0)
  36. include(CPack)
  37. find_package(libobs QUIET)
  38. if(NOT TARGET OBS::libobs)
  39. find_package(LibObs REQUIRED)
  40. add_library(OBS::libobs ALIAS libobs)
  41. if(ENABLE_FRONTEND_API)
  42. find_path(
  43. obs-frontend-api_INCLUDE_DIR
  44. NAMES obs-frontend-api.h
  45. PATHS /usr/include /usr/local/include
  46. PATH_SUFFIXES obs
  47. )
  48. find_library(obs-frontend-api_LIBRARY NAMES obs-frontend-api 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(
  59. OBS::obs-frontend-api
  60. PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${obs-frontend-api_INCLUDE_DIR}"
  61. )
  62. endif()
  63. endif()
  64. endif()
  65. macro(find_package)
  66. if(NOT "${ARGV0}" STREQUAL libobs AND NOT "${ARGV0}" STREQUAL obs-frontend-api)
  67. _find_package(${ARGV})
  68. endif()
  69. endmacro()
  70. endif()