Skip to content

Commit a5bf5c7

Browse files
authored
Merge pull request #1694 from pedrolcl/install_time_components
Install time components feature
2 parents 80f5e77 + 0f386dc commit a5bf5c7

File tree

3 files changed

+37
-17
lines changed

3 files changed

+37
-17
lines changed

CMakeLists.txt

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,8 @@ endif ()
916916

917917
generate_pkgconfig_spec(fluidsynth.pc.in ${FluidSynth_BINARY_DIR}/fluidsynth.pc libfluidsynth-OBJ)
918918
install ( FILES ${FluidSynth_BINARY_DIR}/fluidsynth.pc
919-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
919+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
920+
COMPONENT ${PACKAGE}_development)
920921

921922
# Exported targets for cmake: find_package(FluidSynth)
922923
# when installed, use CMAKE_PREFIX_PATH=fluidsynth-prefix;...
@@ -952,7 +953,8 @@ configure_file(FluidSynthConfig.cmake.in FluidSynthConfig.cmake @ONLY)
952953
install(FILES "${FluidSynth_BINARY_DIR}/FluidSynthConfig.cmake"
953954
"${FluidSynth_BINARY_DIR}/FluidSynthConfigVersion.cmake"
954955
${EXTRA_STATIC_MODULES}
955-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/fluidsynth")
956+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/fluidsynth"
957+
COMPONENT ${PACKAGE}_development)
956958

957959
# Extra targets for Unix build environments
958960
if ( UNIX )
@@ -988,15 +990,25 @@ set ( CPACK_PACKAGE_VERSION_PATCH ${FLUIDSYNTH_VERSION_MICRO} )
988990
set ( CPACK_PACKAGE_EXECUTABLES "fluidsynth" "FluidSynth CLI" )
989991

990992
# source packages
991-
set ( CPACK_SOURCE_GENERATOR TGZ;TBZ2;ZIP )
992-
set ( CPACK_SOURCE_IGNORE_FILES "/.svn/;/build/;~$;.cproject;.project;/.settings/;${CPACK_SOURCE_IGNORE_FILES}" )
993+
set ( CPACK_SOURCE_IGNORE_FILES "/.git/;/build/;~$;.cproject;.project;/.settings/;${CPACK_SOURCE_IGNORE_FILES}" )
993994
set ( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
994995
set ( CPACK_SOURCE_STRIP_FILES OFF )
995996

996997
# binary packages
997998
include ( InstallRequiredSystemLibraries )
998-
set ( CPACK_GENERATOR STGZ;TGZ;TBZ2;ZIP )
999999
set ( CPACK_PACKAGE_NAME ${PACKAGE} )
10001000
set ( CPACK_STRIP_FILES ON )
10011001

10021002
include ( CPack )
1003+
1004+
cpack_add_component(${PACKAGE}_runtime
1005+
DISPLAY_NAME "Runtime Library"
1006+
DESCRIPTION "Shared library (DLL) needed to run FluidSynth programs")
1007+
cpack_add_component(${PACKAGE}_program
1008+
DISPLAY_NAME "FluidSynth Application"
1009+
DESCRIPTION "FluidSynth Command Line Interface Program"
1010+
DEPENDS ${PACKAGE}_runtime)
1011+
cpack_add_component(${PACKAGE}_development
1012+
DISPLAY_NAME "C Headers and import library"
1013+
DESCRIPTION "C headers and import library for using FluidSynth"
1014+
DEPENDS ${PACKAGE}_runtime)

doc/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ endif ( DOXYGEN_FOUND )
5757

5858
if ( UNIX )
5959
install ( FILES fluidsynth.1
60-
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
60+
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
61+
COMPONENT ${PACKAGE}_program
62+
)
6163
endif ( UNIX )
6264

6365
add_subdirectory ( examples )

src/CMakeLists.txt

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -561,19 +561,24 @@ endif()
561561
if ( MACOSX_FRAMEWORK )
562562
install ( TARGETS fluidsynth libfluidsynth
563563
EXPORT FluidSynthTargets
564-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
565-
FRAMEWORK DESTINATION "${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}"
566-
ARCHIVE DESTINATION "${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}"
567-
)
564+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PACKAGE}_program
565+
FRAMEWORK DESTINATION "${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}" COMPONENT ${PACKAGE}_runtime
566+
ARCHIVE DESTINATION "${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}" COMPONENT ${PACKAGE}_development
567+
)
568568
else ( MACOSX_FRAMEWORK )
569-
install ( TARGETS fluidsynth libfluidsynth
569+
install ( TARGETS fluidsynth
570570
EXPORT FluidSynthTargets
571-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
572-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
573-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
574-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fluidsynth
575-
)
576-
install ( FILES ${public_main_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
571+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PACKAGE}_program
572+
)
573+
install ( TARGETS libfluidsynth
574+
EXPORT FluidSynthTargets
575+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PACKAGE}_runtime
576+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PACKAGE}_runtime
577+
NAMELINK_COMPONENT ${PACKAGE}_development
578+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PACKAGE}_development
579+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fluidsynth COMPONENT ${PACKAGE}_development
580+
)
581+
install ( FILES ${public_main_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT ${PACKAGE}_development )
577582
endif ( MACOSX_FRAMEWORK )
578583

579584
# Exported targets.
@@ -590,4 +595,5 @@ install(EXPORT FluidSynthTargets
590595
FILE FluidSynth-${target-type}-targets.cmake
591596
NAMESPACE FluidSynth::
592597
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fluidsynth
598+
COMPONENT ${PACKAGE}_development
593599
)

0 commit comments

Comments
 (0)