diff --git a/CMakeLists.txt b/CMakeLists.txt index 6541f1b..e81bdce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 2.8.5) +cmake_minimum_required(VERSION 3.14) +cmake_policy(SET CMP0022 NEW) project(libsoundio C) set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) @@ -233,7 +234,8 @@ if(BUILD_DYNAMIC_LIBS) LINKER_LANGUAGE C ) target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS}) - install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) + target_include_directories(libsoundio_shared PUBLIC $) + install(TARGETS libsoundio_shared EXPORT libsoundio-export) endif() if(BUILD_STATIC_LIBS) @@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS) COMPILE_FLAGS ${LIB_CFLAGS} LINKER_LANGUAGE C ) - install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) + target_link_libraries(libsoundio_static PUBLIC ${LIBSOUNDIO_LIBS}) + target_include_directories(libsoundio_static PUBLIC $) + install(TARGETS libsoundio_static EXPORT libsoundio-export) endif() +add_library(libsoundio INTERFACE) +if(BUILD_DYNAMIC_LIBS) + target_link_libraries(libsoundio INTERFACE libsoundio_shared) +else() + target_link_libraries(libsoundio INTERFACE libsoundio_static) +endif() +install(TARGETS libsoundio EXPORT libsoundio-export) +install( + EXPORT libsoundio-export + FILE libsoundio-config.cmake + DESTINATION share/libsoundio/ + NAMESPACE ${PROJECT_NAME}:: + EXPORT_LINK_INTERFACE_LIBRARIES +) + install(FILES ${LIBSOUNDIO_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")