Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindDetours.cmake
blob50fce108becbe2e28ce37b7a3fa9b4bac5985387
1 #.rst:
2 # FindDetours
3 # --------
4 # Finds the Detours library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::Detours - The Detours library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_path(DETOURS_INCLUDE_DIR NAMES detours.h)
13   find_library(DETOURS_LIBRARY_RELEASE NAMES detours
14                                        ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
15   find_library(DETOURS_LIBRARY_DEBUG NAMES detoursd
16                                      ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
18   include(SelectLibraryConfigurations)
19   select_library_configurations(DETOURS)
20   unset(DETOURS_LIBRARIES)
22   include(FindPackageHandleStandardArgs)
23   find_package_handle_standard_args(Detours
24                                     REQUIRED_VARS DETOURS_LIBRARY DETOURS_INCLUDE_DIR)
26   if(DETOURS_FOUND)
27     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
28     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
29                                                                      INTERFACE_INCLUDE_DIRECTORIES "${DETOURS_INCLUDE_DIR}")
30     if(DETOURS_LIBRARY_RELEASE)
31       set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
32                                                                        IMPORTED_CONFIGURATIONS RELEASE
33                                                                        IMPORTED_LOCATION_RELEASE "${DETOURS_LIBRARY_RELEASE}")
34     endif()
35     if(DETOURS_LIBRARY_DEBUG)
36       set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
37                                                                        IMPORTED_LOCATION_DEBUG "${DETOURS_LIBRARY_DEBUG}")
38       set_property(TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} APPEND PROPERTY
39                                                                             IMPORTED_CONFIGURATIONS DEBUG)
40     endif()
41   else()
42     if(Detours_FIND_REQUIRED)
43       message(FATAL_ERROR "Detour libraries were not found.")
44     endif()
45   endif()
46 endif()