diff --git a/CMakeLists.txt b/CMakeLists.txt index 46c6059..c0c047a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -660,7 +660,7 @@ endif() if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) install( TARGETS avif - EXPORT ${PROJECT_NAME}-config + EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" @@ -668,7 +668,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) # Enable CMake configs in VCPKG mode if(BUILD_SHARED_LIBS OR VCPKG_TARGET_TRIPLET) - install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + install(EXPORT ${PROJECT_NAME}-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) include(CMakePackageConfigHelpers) write_basic_package_version_file( @@ -677,6 +677,28 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in "@PACKAGE_INIT@\n") + if(UNIX AND NOT BUILD_SHARED_LIBS) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in " + include(CMakeFindDependencyMacro) + set(CMAKE_THREAD_PREFER_PTHREADS ON) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_dependency(Threads) + ") + endif() + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in "include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake)") + + # Install CMake configuration export file. + configure_package_config_file( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + ) endif() # Handle both relative and absolute paths (e.g. NixOS) for a relocatable package