FindLibx264.cmake 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Once done these will be defined:
  2. #
  3. # LIBX264_FOUND LIBX264_INCLUDE_DIRS LIBX264_LIBRARIES
  4. #
  5. # For use in OBS:
  6. #
  7. # X264_INCLUDE_DIR
  8. find_package(PkgConfig QUIET)
  9. if(PKG_CONFIG_FOUND)
  10. pkg_check_modules(_X264 QUIET x264)
  11. endif()
  12. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  13. set(_lib_suffix 64)
  14. else()
  15. set(_lib_suffix 32)
  16. endif()
  17. find_path(
  18. X264_INCLUDE_DIR
  19. NAMES x264.h
  20. HINTS ENV X264_PATH ${X264_PATH} ${CMAKE_SOURCE_DIR}/${X264_PATH}
  21. ${_X264_INCLUDE_DIRS}
  22. PATHS /usr/include /usr/local/include /opt/local/include /sw/include
  23. PATH_SUFFIXES include)
  24. find_library(
  25. X264_LIB
  26. NAMES ${_X264_LIBRARIES} x264 libx264
  27. HINTS ENV X264_PATH ${X264_PATH} ${CMAKE_SOURCE_DIR}/${X264_PATH}
  28. ${_X264_LIBRARY_DIRS}
  29. PATHS /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  30. PATH_SUFFIXES
  31. lib${_lib_suffix}
  32. lib
  33. libs${_lib_suffix}
  34. libs
  35. bin${_lib_suffix}
  36. bin
  37. ../lib${_lib_suffix}
  38. ../lib
  39. ../libs${_lib_suffix}
  40. ../libs
  41. ../bin${_lib_suffix}
  42. ../bin)
  43. include(FindPackageHandleStandardArgs)
  44. find_package_handle_standard_args(Libx264 DEFAULT_MSG X264_LIB X264_INCLUDE_DIR)
  45. mark_as_advanced(X264_INCLUDE_DIR X264_LIB)
  46. if(LIBX264_FOUND)
  47. set(LIBX264_INCLUDE_DIRS ${X264_INCLUDE_DIR})
  48. set(LIBX264_LIBRARIES ${X264_LIB})
  49. if(NOT TARGET LIBX264::LIBX264)
  50. if(IS_ABSOLUTE "${LIBX264_LIBRARIES}")
  51. add_library(LIBX264::LIBX264 UNKNOWN IMPORTED)
  52. set_target_properties(LIBX264::LIBX264 PROPERTIES IMPORTED_LOCATION
  53. "${LIBX264_LIBRARIES}")
  54. else()
  55. add_library(LIBX264::LIBX264 INTERFACE IMPORTED)
  56. set_target_properties(LIBX264::LIBX264 PROPERTIES IMPORTED_LIBNAME
  57. "${LIBX264_LIBRARIES}")
  58. endif()
  59. set_target_properties(
  60. LIBX264::LIBX264 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  61. "${LIBX264_INCLUDE_DIRS}")
  62. endif()
  63. endif()