aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDenis Barkar <denis.barkar@gmail.com>2023-02-10 00:52:34 +0400
committerVitaly Novichkov <Wohlstand@users.noreply.github.com>2023-02-23 01:58:15 +0300
commita6bf2ceffaead1b804729ec8b5d1fa702291befa (patch)
treea9ea7c6b70b1567c788a823bf0f2318ded091cb2 /CMakeLists.txt
parent6fe0d28e259232073642e32a97063419df1b4654 (diff)
downloadlibADLMIDI-a6bf2ceffaead1b804729ec8b5d1fa702291befa.tar.gz
libADLMIDI-a6bf2ceffaead1b804729ec8b5d1fa702291befa.tar.bz2
libADLMIDI-a6bf2ceffaead1b804729ec8b5d1fa702291befa.zip
CMake: added package export, fixed includes
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt48
1 files changed, 35 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37340f9..eeb987e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -323,7 +323,7 @@ if(libADLMIDI_STATIC OR WITH_VLC_PLUGIN)
else()
set_target_properties(ADLMIDI_static PROPERTIES OUTPUT_NAME ADLMIDI)
endif()
- target_include_directories(ADLMIDI_static PUBLIC ${libADLMIDI_SOURCE_DIR}/include)
+ target_include_directories(ADLMIDI_static PUBLIC $<BUILD_INTERFACE:${libADLMIDI_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
set_legacy_standard(ADLMIDI_static)
set_visibility_hidden(ADLMIDI_static)
handle_options(ADLMIDI_static)
@@ -346,7 +346,7 @@ if(libADLMIDI_SHARED)
VERSION ${libADLMIDI_VERSION}
SOVERSION ${libADLMIDI_VERSION_MAJOR}
)
- target_include_directories(ADLMIDI_shared PUBLIC ${libADLMIDI_SOURCE_DIR}/include)
+ target_include_directories(ADLMIDI_shared PUBLIC $<BUILD_INTERFACE:${libADLMIDI_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
set_legacy_standard(ADLMIDI_shared)
set_visibility_hidden(ADLMIDI_shared)
handle_options(ADLMIDI_shared)
@@ -428,22 +428,44 @@ if(WIN32 AND WITH_WINMMDRV)
add_subdirectory(utils/winmm_drv)
endif()
-set(libADLMIDI_INSTALLS )
-foreach(lib ADLMIDI_static ADLMIDI_shared)
- if(TARGET ${lib})
- list(APPEND libADLMIDI_INSTALLS ${lib})
- endif()
-endforeach()
+if(libADLMIDI_STATIC)
+ install(TARGETS ADLMIDI_static
+ EXPORT libADLMIDIStaticTargets
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+
+ install(EXPORT libADLMIDIStaticTargets
+ FILE libADLMIDI-static-targets.cmake
+ NAMESPACE libADLMIDI::
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI")
+endif()
+
+if(libADLMIDI_SHARED)
+ install(TARGETS ADLMIDI_shared
+ EXPORT libADLMIDISharedTargets
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-install(TARGETS ${libADLMIDI_INSTALLS}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ install(EXPORT libADLMIDISharedTargets
+ FILE libADLMIDI-shared-targets.cmake
+ NAMESPACE libADLMIDI::
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI")
+endif()
install(FILES
include/adlmidi.h
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+
+include(CMakePackageConfigHelpers)
+configure_package_config_file(libADLMIDI-config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/libADLMIDI-config.cmake"
+ PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR CMAKE_INSTALL_FULL_INCLUDEDIR CMAKE_INSTALL_FULL_LIBDIR
+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI"
+)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libADLMIDI-config.cmake
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI"
+)
file(GLOB DOCTXT_FILES
"${libADLMIDI_SOURCE_DIR}/LICENSE*.txt"