diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/modules/FindShairplay.cmake | 31 | ||||
-rw-r--r-- | cmake/scripts/android/Install.cmake | 4 | ||||
-rw-r--r-- | xbmc/network/CMakeLists.txt | 2 |
4 files changed, 19 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a1eb44e1c3..a50d75a130 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -290,7 +290,7 @@ endif() if(ENABLE_AIRTUNES) find_package(Shairplay) - if(TARGET Shairplay::Shairplay) + if(TARGET ${APP_NAME_LC}::Shairplay) core_require_dep(Shairplay) endif() endif() diff --git a/cmake/modules/FindShairplay.cmake b/cmake/modules/FindShairplay.cmake index df4afa72d5..fd916ca648 100644 --- a/cmake/modules/FindShairplay.cmake +++ b/cmake/modules/FindShairplay.cmake @@ -7,15 +7,16 @@ # # Shairplay::Shairplay - The Shairplay library -if(NOT TARGET Shairplay::Shairplay) +if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME}) - find_path(SHAIRPLAY_INCLUDE_DIR shairplay/raop.h NO_CACHE) + find_path(SHAIRPLAY_INCLUDE_DIR shairplay/raop.h) + find_library(SHAIRPLAY_LIBRARY NAMES shairplay libshairplay) include(FindPackageHandleStandardArgs) - find_library(SHAIRPLAY_LIBRARY NAMES shairplay libshairplay - NO_CACHE) + find_package_handle_standard_args(Shairplay + REQUIRED_VARS SHAIRPLAY_LIBRARY SHAIRPLAY_INCLUDE_DIR) - if(SHAIRPLAY_INCLUDE_DIR AND SHAIRPLAY_LIBRARY) + if(SHAIRPLAY_FOUND) include(CheckCSourceCompiles) set(CMAKE_REQUIRED_INCLUDES ${SHAIRPLAY_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${SHAIRPLAY_LIBRARIES}) @@ -28,17 +29,15 @@ if(NOT TARGET Shairplay::Shairplay) return 0; } " HAVE_SHAIRPLAY_CALLBACK_CLS) - endif() + unset(CMAKE_REQUIRED_INCLUDES) + unset(CMAKE_REQUIRED_LIBRARIES) - find_package_handle_standard_args(Shairplay - REQUIRED_VARS SHAIRPLAY_LIBRARY SHAIRPLAY_INCLUDE_DIR HAVE_SHAIRPLAY_CALLBACK_CLS) - - if(SHAIRPLAY_FOUND) - add_library(Shairplay::Shairplay UNKNOWN IMPORTED) - set_target_properties(Shairplay::Shairplay PROPERTIES - IMPORTED_LOCATION "${SHAIRPLAY_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${SHAIRPLAY_INCLUDE_DIR}" - INTERFACE_COMPILE_DEFINITIONS HAS_AIRTUNES=1) - set_property(GLOBAL APPEND PROPERTY INTERNAL_DEPS_PROP Shairplay::Shairplay) + if(HAVE_SHAIRPLAY_CALLBACK_CLS) + add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED) + set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES + IMPORTED_LOCATION "${SHAIRPLAY_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${SHAIRPLAY_INCLUDE_DIR}" + INTERFACE_COMPILE_DEFINITIONS HAS_AIRTUNES) + endif() endif() endif() diff --git a/cmake/scripts/android/Install.cmake b/cmake/scripts/android/Install.cmake index b912141007..8e2b90e7b4 100644 --- a/cmake/scripts/android/Install.cmake +++ b/cmake/scripts/android/Install.cmake @@ -141,8 +141,8 @@ foreach(library IN LISTS LIBRARY_FILES) add_bundle_file(${library} ${libdir}/${APP_NAME_LC} ${CMAKE_BINARY_DIR}) endforeach() -if(TARGET Shairplay::Shairplay) - add_bundle_file(Shairplay::Shairplay ${libdir} "") +if(TARGET ${APP_NAME_LC}::Shairplay) + add_bundle_file(${APP_NAME_LC}::Shairplay ${libdir} "") endif() # Main targets from Makefile.in diff --git a/xbmc/network/CMakeLists.txt b/xbmc/network/CMakeLists.txt index 7d7a635a5d..b5266914bb 100644 --- a/xbmc/network/CMakeLists.txt +++ b/xbmc/network/CMakeLists.txt @@ -38,7 +38,7 @@ if(TARGET ${APP_NAME_LC}::Plist) list(APPEND HEADERS AirPlayServer.h) endif() -if(TARGET Shairplay::Shairplay) +if(TARGET ${APP_NAME_LC}::Shairplay) list(APPEND SOURCES AirTunesServer.cpp) list(APPEND HEADERS AirTunesServer.h) endif() |