CMake + CPack "Unspecified" component

Hi everyone!

I am trying to contribute to a friends project with a nice packing and distribution system. The code I wrote can be found in my fork:

Particularly, I want to split DEB packaging into two versions, a lib deb and a devel deb.
When trying to do this I run into CPack not detecting one of my components. Here you have a verbose CPack output indicating that there is an Unspecified component:

...
CPack Verbose: Installing: /home/runner/work/sigutils/sigutils/build/dist/_CPack_Packages/Linux/DEB/sigutils-0.3.0-Linux/DEVELOPMENT/usr/lib/x86_64-linux-gnu/pkgconfig/sigutils.pc
CPack: -   Install component: Unspecified
CPack Verbose: Install configuration: "Release"
CPack Verbose: Installing: /home/runner/work/sigutils/sigutils/build/dist/_CPack_Packages/Linux/DEB/sigutils-0.3.0-Linux/Unspecified/usr/lib/x86_64-linux-gnu/libsigutils.so.0.3.0
CPack Verbose: Installing: /home/runner/work/sigutils/sigutils/build/dist/_CPack_Packages/Linux/DEB/sigutils-0.3.0-Linux/Unspecified/usr/lib/x86_64-linux-gnu/libsigutils.so.1
CPack Verbose: Installing: /home/runner/work/sigutils/sigutils/build/dist/_CPack_Packages/Linux/DEB/sigutils-0.3.0-Linux/Unspecified/usr/lib/x86_64-linux-gnu/libsigutils.so
CPack: Create package
...

The code responsible for defining that intstall target is the following:

...
# Define the library target	
add_library(sigutils SHARED ${SRCS})
...
# Target properties
set_property(TARGET sigutils PROPERTY VERSION   ${SIGUTILS_VERSION})
set_property(TARGET sigutils PROPERTY SOVERSION ${SIGUTILS_ABI_VERSION})
...
# File install
install(TARGETS sigutils LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RUNTIME)
...

Full code can be found at:

I have read about install target only applying component property to the selected component, but in this case, it seems not to apply it…

What am I doing wrong?

Thanks in advance!

RUNTIME may get detected as an argument to install(TARGETS). Does it work if you use lowercase?

1 Like

Thanks @ben.boeckel! Easy solution for an easy problem! I could not see it :man_facepalming: