4 # Finds the cdio library
6 # This will define the following target:
8 # ${APP_NAME_LC}::Cdio - The LibCap library
11 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
12 find_package(PkgConfig)
15 pkg_check_modules(PC_CDIO libcdio>=0.80 QUIET)
16 pkg_check_modules(PC_CDIOPP libcdio++>=2.1.0 QUIET)
19 find_path(CDIO_INCLUDE_DIR NAMES cdio/cdio.h
20 HINTS ${PC_CDIO_INCLUDEDIR})
22 find_library(CDIO_LIBRARY NAMES cdio libcdio
23 HINTS ${PC_CDIO_LIBDIR})
25 if(DEFINED PC_CDIO_VERSION AND DEFINED PC_CDIOPP_VERSION AND NOT "${PC_CDIO_VERSION}" VERSION_EQUAL "${PC_CDIOPP_VERSION}")
26 message(WARNING "Detected libcdio (${PC_CDIO_VERSION}) and libcdio++ (${PC_CDIOPP_VERSION}) version mismatch. libcdio++ will not be used.")
28 find_path(CDIOPP_INCLUDE_DIR NAMES cdio++/cdio.hpp
29 HINTS ${PC_CDIOPP_INCLUDEDIR} ${CDIO_INCLUDE_DIR})
31 set(CDIO_VERSION ${PC_CDIO_VERSION})
34 include(FindPackageHandleStandardArgs)
35 find_package_handle_standard_args(Cdio
36 REQUIRED_VARS CDIO_LIBRARY CDIO_INCLUDE_DIR
37 VERSION_VAR CDIO_VERSION)
41 add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
42 set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
43 IMPORTED_LOCATION "${CDIO_LIBRARY}"
44 INTERFACE_INCLUDE_DIRECTORIES "${CDIO_INCLUDE_DIR}")
46 if(CDIOPP_INCLUDE_DIR)
47 add_library(${APP_NAME_LC}::CdioPP INTERFACE IMPORTED)
48 set_target_properties(${APP_NAME_LC}::CdioPP PROPERTIES
49 INTERFACE_INCLUDE_DIRECTORIES "${CDIOPP_INCLUDE_DIR}")
50 set_property(TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} APPEND PROPERTY
51 INTERFACE_LINK_LIBRARIES "${APP_NAME_LC}::CdioPP")
54 if(Cdio_FIND_REQUIRED)
55 message(FATAL_ERROR "cdio library not found.")