On Fri, Mar 27, 2020 at 11:21 AM Jeanette C. via Boost-users < boost-users@lists.boost.org> wrote:
Hey hey, I get a cmake error about a non-existent directory from boost::program_options, namely /include . It only happens with the program_options library. Other libs included in the project are date_time, filesystem and system.
So I don't think boost 1.72 has sorta partial cmake support -- are you pulling that from elsewhere? As for the /include -- boost libraries have the structure of libs/<libname>/include/boost/<libname> when they are in github repos. When a release is made all those libname directories moved into BOOST_ROOT/boost. So there's no 'include directories' in the distro after that. AFACT date_time and program_options are the same on that.
A quick peak at /lib/cmake/boost_program_options-1.72.0/boost_program_options-config.cmake
That file and path isn't in my 1.72 release....
compared to the same file from date_time didn't give me any obvious hint though. But I'm not very familiar with cmake.
Don't worry, as soon as you are it will change ;)
The cmake line to find these Boost packages is this: find_package(Boost 1.58 REQUIRED COMPONENTS program_options filesystem date_time system)
Boost 1.58 <-- is this possibly the issue -- 1.58 or 1.72? Also, you should know that boost system can be used header only -- as can date_time (just avoid old legacy i/o features). Here's the error message from my program's cmake:
[...] Imported target "Boost::program_options" includes non-existent path "/include" in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: [...]
Can someone reproduce the issue or suggest a fix?
Not without a bit more info -- but my guess is that cmake setup is looking for a git repo based setup and not a release. hth, Jeff