From 4a8c8aade0b9f304ccc73cf663629813bc2184bc Mon Sep 17 00:00:00 2001 From: kevin Heifner Date: Fri, 20 Feb 2026 12:23:57 -0600 Subject: [PATCH] Add missing COMPONENT to all install() rules for correct deb packaging With CPACK_DEB_COMPONENT_INSTALL enabled, install() rules without a COMPONENT go to "Unspecified" which is excluded from both the base and dev .deb packages. This adds COMPONENT to all 21 install() rules that were missing it: - trace_api_util binary -> base (was silently excluded from .deb) - Licenses directory -> base and dev - Headers, static libraries, and cmake configs -> dev (libfc, libfc-lite, sysio_chain, builtins, sysio_testing, wasm-jit, vcpkg includes/libs, sysio cmake configs) --- CMakeLists.txt | 15 ++++++++------- libraries/builtins/CMakeLists.txt | 1 + libraries/chain/CMakeLists.txt | 4 +++- libraries/libfc-lite/CMakeLists.txt | 2 ++ libraries/libfc/CMakeLists.txt | 2 ++ libraries/testing/CMakeLists.txt | 1 + libraries/wasm-jit/CMakeLists.txt | 2 +- libraries/wasm-jit/Source/IR/CMakeLists.txt | 3 ++- libraries/wasm-jit/Source/Logging/CMakeLists.txt | 1 + libraries/wasm-jit/Source/WASM/CMakeLists.txt | 1 + libraries/wasm-jit/Source/WAST/CMakeLists.txt | 3 ++- .../tool/trace_api_util/CMakeLists.txt | 6 +++--- 12 files changed, 27 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bde109982..32ea9f339f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,20 +204,21 @@ add_subdirectory(contracts/tests) option(DISABLE_WASM_SPEC_TESTS "disable building of wasm spec unit tests" OFF) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/sysio.version.in ${CMAKE_CURRENT_BINARY_DIR}/sysio.version.hpp) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sysio.version.hpp DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sysio.version.hpp DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR} COMPONENT dev EXCLUDE_FROM_ALL) set(SYSIO_ROOT_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") configure_file(${CMAKE_SOURCE_DIR}/cmake/sysio-config.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/sysio/sysio-config.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/cmake/SysioTester.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioTester.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/cmake/SysioCheckVersion.cmake ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioCheckVersion.cmake COPYONLY) -install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/sysio-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio) -install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio) -install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio) +install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/sysio-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio COMPONENT dev EXCLUDE_FROM_ALL) +install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio COMPONENT dev EXCLUDE_FROM_ALL) +install(FILES ${CMAKE_BINARY_DIR}/lib/cmake/sysio/SysioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/sysio COMPONENT dev EXCLUDE_FROM_ALL) include(cmake/licenses.cmake) -install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/licenses/sysio" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/licenses/") +install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/licenses/sysio" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/licenses/" COMPONENT base) +install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/licenses/sysio" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/licenses/" COMPONENT dev EXCLUDE_FROM_ALL) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libraries/testing/contracts DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/sysio_testing/libraries/testing COMPONENT dev EXCLUDE_FROM_ALL PATTERN "CMakeFiles" EXCLUDE @@ -235,8 +236,8 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/TestHarness DESTINATION ${CM PATTERN "CMakeFiles" EXCLUDE) # install(DIRECTORY "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/softfloat/" DESTINATION share/softfloat) -install(DIRECTORY "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/" DESTINATION include) -install(DIRECTORY "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/" DESTINATION lib) +install(DIRECTORY "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/" DESTINATION include COMPONENT dev EXCLUDE_FROM_ALL) +install(DIRECTORY "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/" DESTINATION lib COMPONENT dev EXCLUDE_FROM_ALL) if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21) # Cmake versions < 3.21 did not support installing symbolic links to a directory via install(FILES ...) diff --git a/libraries/builtins/CMakeLists.txt b/libraries/builtins/CMakeLists.txt index 880383306f..6c3fab86b9 100644 --- a/libraries/builtins/CMakeLists.txt +++ b/libraries/builtins/CMakeLists.txt @@ -30,4 +30,5 @@ install(TARGETS RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/chain/CMakeLists.txt b/libraries/chain/CMakeLists.txt index 064da03589..9bf37cc121 100644 --- a/libraries/chain/CMakeLists.txt +++ b/libraries/chain/CMakeLists.txt @@ -181,9 +181,11 @@ install( TARGETS sysio_chain RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/sysio/chain/ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/sysio/chain + COMPONENT dev EXCLUDE_FROM_ALL FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" EXCLUDE ) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/sysio/chain/core_symbol.hpp DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/sysio/chain) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/sysio/chain/core_symbol.hpp DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/sysio/chain COMPONENT dev EXCLUDE_FROM_ALL) diff --git a/libraries/libfc-lite/CMakeLists.txt b/libraries/libfc-lite/CMakeLists.txt index 47c28dbab3..85a2989e04 100644 --- a/libraries/libfc-lite/CMakeLists.txt +++ b/libraries/libfc-lite/CMakeLists.txt @@ -19,10 +19,12 @@ endif () install( DIRECTORY include/fc-lite DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) # Install the INTERFACE target for completeness (no artifacts produced) install( TARGETS fc-lite EXPORT fc-lite-targets + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/libfc/CMakeLists.txt b/libraries/libfc/CMakeLists.txt index 1d7b32d9a2..2668a2886e 100644 --- a/libraries/libfc/CMakeLists.txt +++ b/libraries/libfc/CMakeLists.txt @@ -132,10 +132,12 @@ install( TARGETS fc LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) install( DIRECTORY include/fc DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/testing/CMakeLists.txt b/libraries/testing/CMakeLists.txt index 5ce2987865..77ac2e1def 100644 --- a/libraries/testing/CMakeLists.txt +++ b/libraries/testing/CMakeLists.txt @@ -125,4 +125,5 @@ install(TARGETS sysio_testing LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/sysio/testing + COMPONENT dev EXCLUDE_FROM_ALL ) \ No newline at end of file diff --git a/libraries/wasm-jit/CMakeLists.txt b/libraries/wasm-jit/CMakeLists.txt index 2397d8061d..990a9440e0 100644 --- a/libraries/wasm-jit/CMakeLists.txt +++ b/libraries/wasm-jit/CMakeLists.txt @@ -15,4 +15,4 @@ add_subdirectory(Source/Logging) add_subdirectory(Source/WASM) add_subdirectory(Source/WAST) -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Include/ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/wasm-jit) +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Include/ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/wasm-jit COMPONENT dev EXCLUDE_FROM_ALL) diff --git a/libraries/wasm-jit/Source/IR/CMakeLists.txt b/libraries/wasm-jit/Source/IR/CMakeLists.txt index 7a155e3baa..16e7e8ae23 100644 --- a/libraries/wasm-jit/Source/IR/CMakeLists.txt +++ b/libraries/wasm-jit/Source/IR/CMakeLists.txt @@ -17,8 +17,9 @@ add_library(IR STATIC ${Sources} ${PublicHeaders}) add_definitions(-DIR_API=DLL_EXPORT) target_link_libraries(IR Logging) -install(TARGETS IR +install(TARGETS IR LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/wasm-jit/Source/Logging/CMakeLists.txt b/libraries/wasm-jit/Source/Logging/CMakeLists.txt index 4214c83b27..a345e332bd 100644 --- a/libraries/wasm-jit/Source/Logging/CMakeLists.txt +++ b/libraries/wasm-jit/Source/Logging/CMakeLists.txt @@ -16,5 +16,6 @@ endif() install(TARGETS Logging LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/wasm-jit/Source/WASM/CMakeLists.txt b/libraries/wasm-jit/Source/WASM/CMakeLists.txt index 2ab4c3a494..17318dd115 100644 --- a/libraries/wasm-jit/Source/WASM/CMakeLists.txt +++ b/libraries/wasm-jit/Source/WASM/CMakeLists.txt @@ -9,4 +9,5 @@ target_link_libraries(WASM Logging IR) install(TARGETS WASM LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/libraries/wasm-jit/Source/WAST/CMakeLists.txt b/libraries/wasm-jit/Source/WAST/CMakeLists.txt index dc8483cc92..e320050ccd 100644 --- a/libraries/wasm-jit/Source/WAST/CMakeLists.txt +++ b/libraries/wasm-jit/Source/WAST/CMakeLists.txt @@ -18,8 +18,9 @@ include_directories(${WAVM_INCLUDE_DIR}/WAST) add_library(WAST STATIC ${Sources} ${PublicHeaders}) add_definitions(-DWAST_API=DLL_EXPORT) target_link_libraries(WAST Logging IR WASM) -install(TARGETS WAST +install(TARGETS WAST LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/plugins/trace_api_plugin/tool/trace_api_util/CMakeLists.txt b/plugins/trace_api_plugin/tool/trace_api_util/CMakeLists.txt index a2a86365e4..3a4ad5f9af 100644 --- a/plugins/trace_api_plugin/tool/trace_api_util/CMakeLists.txt +++ b/plugins/trace_api_plugin/tool/trace_api_util/CMakeLists.txt @@ -18,7 +18,7 @@ target_include_directories( copy_bin(trace_api_util) install(TARGETS trace_api_util - RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT base + LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT dev EXCLUDE_FROM_ALL + ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT dev EXCLUDE_FROM_ALL )