CMake: Require explicit installation of development headers

Develpment headers are a sizeable part of the binary installation
and most users won't ever require them. It's recommended to package
them separately in a devel package or SDK.

Create a CMake installation component for development headers
and add the EXCLUDE_FROM_ALL property.

Headers can be installed using the invocation:

    cmake --install <dir> --component Development
This commit is contained in:
João Valverde 2023-01-18 00:46:21 +00:00
parent 728073ade0
commit fe7bfdf6ca
8 changed files with 24 additions and 0 deletions

View File

@ -3766,6 +3766,8 @@ set(SHARK_PUBLIC_HEADERS
install(FILES ${SHARK_PUBLIC_HEADERS}
DESTINATION ${PROJECT_INSTALL_INCLUDEDIR}
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
# Install icons and other desktop files for Freedesktop.org-compliant desktops.
@ -3824,6 +3826,9 @@ install(
"${CMAKE_BINARY_DIR}/wireshark.pc"
DESTINATION
${CMAKE_INSTALL_LIBDIR}/pkgconfig
COMPONENT
"Development"
EXCLUDE_FROM_ALL
)
install(
@ -3875,10 +3880,15 @@ install(
${CMAKE_BINARY_DIR}/WiresharkConfigVersion.cmake
DESTINATION
${WIRESHARK_INSTALL_CMAKEDIR}
COMPONENT
"Development"
EXCLUDE_FROM_ALL
)
install(EXPORT WiresharkTargets
DESTINATION ${WIRESHARK_INSTALL_CMAKEDIR}
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
if (DOXYGEN_EXECUTABLE)

View File

@ -390,6 +390,8 @@ install(TARGETS epan
install(FILES ${LIBWIRESHARK_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/epan"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
add_executable(exntest EXCLUDE_FROM_ALL exntest.c except.c)

View File

@ -93,6 +93,8 @@ set_target_properties(dfilter PROPERTIES
install(FILES ${DFILTER_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/epan/dfilter"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
CHECKAPI(

View File

@ -2188,6 +2188,8 @@ set_target_properties(dissectors PROPERTIES
install(FILES ${DISSECTOR_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/epan/dissectors"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
set(CHECKAPI_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/files.txt")

View File

@ -59,6 +59,8 @@ set_target_properties(ftypes PROPERTIES
install(FILES ${FTYPE_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/epan/ftypes"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
CHECKAPI(

View File

@ -211,6 +211,8 @@ install(TARGETS wiretap
install(FILES ${WIRETAP_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/wiretap"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
CHECKAPI(

View File

@ -342,6 +342,8 @@ set_target_properties(test_wsutil PROPERTIES
install(FILES ${WSUTIL_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/wsutil"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
CHECKAPI(

View File

@ -94,6 +94,8 @@ set_target_properties(wmem_test PROPERTIES
install(FILES ${WMEM_PUBLIC_HEADERS}
DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/wsutil/wmem"
COMPONENT "Development"
EXCLUDE_FROM_ALL
)
CHECKAPI(