4 # Finds the iso9660++ library
6 # This will define the following target:
8 # ${APP_NAME_LC}::Iso9660pp - The Iso9660pp library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
14 find_package(PkgConfig)
15 if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
16 if(Iso9660pp_FIND_VERSION)
17 if(Iso9660pp_FIND_VERSION_EXACT)
18 set(Iso9660pp_FIND_SPEC "=${Iso9660pp_FIND_VERSION_COMPLETE}")
20 set(Iso9660pp_FIND_SPEC ">=${Iso9660pp_FIND_VERSION_COMPLETE}")
24 pkg_check_modules(PC_ISO9660PP libiso9660++${Iso9660pp_FIND_SPEC} QUIET)
25 pkg_check_modules(PC_ISO9660 libiso9660${Iso9660pp_FIND_SPEC} QUIET)
28 find_path(ISO9660PP_INCLUDE_DIR NAMES cdio++/iso9660.hpp
29 HINTS ${DEPENDS_PATH}/include ${PC_ISO9660PP_INCLUDEDIR}
30 ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
32 find_library(ISO9660PP_LIBRARY NAMES libiso9660++ iso9660++
33 HINTS ${DEPENDS_PATH}/lib ${PC_ISO9660PP_LIBDIR}
34 ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
36 find_path(ISO9660_INCLUDE_DIR NAMES cdio/iso9660.h
37 HINTS ${DEPENDS_PATH}/include ${PC_ISO9660_INCLUDEDIR}
38 ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
40 find_library(ISO9660_LIBRARY NAMES libiso9660 iso9660
41 HINTS ${DEPENDS_PATH}/lib ${PC_ISO9660_LIBDIR}
42 ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
44 set(ISO9660PP_VERSION ${PC_ISO9660PP_VERSION})
46 include(FindPackageHandleStandardArgs)
47 find_package_handle_standard_args(Iso9660pp
48 REQUIRED_VARS ISO9660PP_LIBRARY ISO9660PP_INCLUDE_DIR ISO9660_LIBRARY ISO9660_INCLUDE_DIR
49 VERSION_VAR ISO9660PP_VERSION)
52 add_library(${APP_NAME_LC}::Iso9660 UNKNOWN IMPORTED)
53 set_target_properties(${APP_NAME_LC}::Iso9660 PROPERTIES
54 IMPORTED_LOCATION "${ISO9660_LIBRARY}"
55 INTERFACE_INCLUDE_DIRECTORIES "${ISO9660_INCLUDE_DIR}")
57 add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
58 set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
59 IMPORTED_LOCATION "${ISO9660PP_LIBRARY}"
60 INTERFACE_INCLUDE_DIRECTORIES "${ISO9660PP_INCLUDE_DIR}"
61 INTERFACE_LINK_LIBRARIES "${APP_NAME_LC}::Iso9660;${APP_NAME_LC}::Cdio"
62 INTERFACE_COMPILE_DEFINITIONS HAS_ISO9660PP)
65 include(FindPackageMessage)
66 find_package_message(Iso9660pp "Iso9660pp: Can not find libcdio (REQUIRED)" "")