FindOSS.cmake 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # cmake-format: off
  2. # Try to find OSS on a *nix system
  3. #
  4. # OSS_FOUND - True if OSS is available OSS_INCLUDE_DIR - Include
  5. # directory of OSS header OSS_HEADER_NAME - OSS header file name
  6. #
  7. # cmake-format: on
  8. if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
  9. set(OSS_HEADER_NAME "sys/soundcard.h")
  10. elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly")
  11. set(OSS_HEADER_NAME "sys/soundcard.h")
  12. endif()
  13. find_path(OSS_INCLUDE_DIR "${OSS_HEADER_NAME}" "/usr/include" "/usr/local/include")
  14. if(OSS_INCLUDE_DIR)
  15. set(OSS_FOUND True)
  16. else(OSS_INCLUDE_DIR)
  17. set(OSS_FOUND)
  18. endif(OSS_INCLUDE_DIR)
  19. if(OSS_FOUND)
  20. message(STATUS "Found OSS header: ${OSS_INCLUDE_DIR}/${OSS_HEADER_NAME}")
  21. else(OSS_FOUND)
  22. if(OSS_FIND_REQUIRED)
  23. message(FATAL_ERROR "Could not find OSS header file")
  24. endif(OSS_FIND_REQUIRED)
  25. endif(OSS_FOUND)
  26. mark_as_advanced(OSS_FOUND OSS_INCLUDE_DIR OSS_HEADER_NAME)
  27. if(OSS_FOUND AND NOT TARGET OSS::OSS)
  28. add_library(OSS::OSS INTERFACE IMPORTED)
  29. set_target_properties(OSS::OSS PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${OSS_INCLUDE_DIR}")
  30. endif()