2018-05-16 9:33 GMT+02:00 Drago Trusk <drago.tr...@gmail.com>:

> Hi everyone,
> I have particular problem which I'm unable to solve.
> Lets say there are following components:
>  - Main: library/executable
>  - Ignorable: Main requires it to build, but not for packaging
> Main simply defines:
> add_dependencies(Main Ignorable)
> FindIgnorable.cmake contains something like:
> add_custom_target(Ignorable
>   COMMAND ... ... && cmake --build --target install .
>   # ...
> )
> Problem is that deb cpack generator picks this from install tree (tar/zip
> doesn't contain Ignorable). So deb ends up with:
> # ... correct fs hierarchy
> /home/saduser/projects/ignorableinstall
> I need to avoid dependency used only for building artifacts.
> What I found:
> - Remove add_dependency
> ---- Problem: have to build dependencies manually and will break CI and
> other people builds
> - Disable automatic packaging of everything and specify custom components
> to package
> ---- Problem: Dependency tree which might be bigger and requires to know
> too many details. In addition requires for outside  changes so that all
> targets have (appropriate)  install conponents.
> I tried everything else that is possible. Am i missing something or are
> those two only viable options?

I think the second option should be ok and not that complicated.
Put the "Ignorable" in an "IgnoredComp" install component and remove this
component from the list of installed components.


see: https://cmake.org/cmake/help/v3.11/module/CPackComponent.html

AFAIR you don't need to defined a component for every install because CPack
already does that for you.
I think that every bits installed without component specification ends-up
in the trap-them-all
"Unspecified" component which is automatically created by CPack.


Another way to do that even more simply (**if you are sure no component are
would be to:

1) install ignorable in "IgnoredComp" component
2) let all other be in your default component
3) only install your default component
set(CPACK_COMPONENTS_ALL "InstallThatOnly")


Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 

Follow this link to subscribe/unsubscribe:

Reply via email to