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)
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}")
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)
42 if(Detours_FIND_REQUIRED)
43 message(FATAL_ERROR "Detour libraries were not found.")