The COMPONENTS FIND_PACKAGE searches only compiled libraries. It cannot check libraries only for the headers that make up the bulk of Boost. There are only a few libraries that require linking (mostly those that do platform-specific things).
From your examples, only thread , signals (unlike signals2 , only for the header), system and program_options must be created in advance, and then linked to your program. Otherwise, just include the appropriate header files.
Thus, just add ${Boost_INCLUDE_DIRS} to the include directories of your target.
See the list of libraries for these libraries here. What additional libraries are for header only?
Johannes S.
source share