Well, that's one answer. But if you want to use system libpcap, it's not a very satisfying one.
It's odd that pcap doesn't ship with a .pc file. I guess the pcap folks are hostile to pkgconfig because it's LGPL; see https://github.com/the-tcpdump-group/libpcap/issues/374 - Dan On Mon, Oct 19, 2015 at 2:04 PM, Pau Garcia i Quiles <pgqui...@elpauer.org> wrote: > Hello, > > Use ExternalProject to build libpcap as part of your project. Make sure > you use $ORIGIN in rpath everywhere. Install your application (and your > bundled libpcap) to /opt to avoid polluting the system. > > On Mon, Oct 19, 2015 at 10:37 PM, Zac Bergquist <zbergquis...@gmail.com> > wrote: > >> Thank you for your reply, Guillaume. >> >> I understand that this is the expected behavior. I even linked to the >> documentation that says this is the expected behavior. What I don't >> understand is how to resolve it. Are you saying it is not possible to >> create a relocatable package unless all dependencies are also using CMake? >> That doesn't seem right. >> >> Should I be trying to write a package config file for libpcap, or is >> there a better way to approach this? >> >> On Sat, Oct 17, 2015 at 8:19 AM, Guillaume Dumont < >> dumont.guilla...@gmail.com> wrote: >> >>> What you are seeing is the expected behavior. You can get a relocatable >>> package if all your dependencies (in your case libcap) have themselves >>> relocatable package config files with exported targets. Then you package >>> should make use of find_dependency macro. >>> >>> On Fri, Oct 16, 2015 at 4:56 PM, Zac Bergquist <zbergquis...@gmail.com> >>> wrote: >>> >>>> I've created a sample project to replicate my issue in hopes that it >>>> would make it easier to troubleshoot. >>>> >>>> Thanks for any help, >>>> Zac >>>> >>>> https://github.com/zmb3/cmaketest >>>> >>>> On Mon, Oct 12, 2015 at 8:53 AM, Zac Bergquist <zbergquis...@gmail.com> >>>> wrote: >>>> >>>>> Hello, >>>>> >>>>> I'm trying to fix a project so that its output is relocatable. The >>>>> project is a library that itself depends on libpcap. My goal is to be >>>>> able >>>>> to import the library into my CMake application and have CMake >>>>> automatically link libpcap with it. >>>>> >>>>> I'm using a toolchain file that invokes an ARM cross compiler, sets >>>>> CMAKE_INSTALL_PREFIX and appends it to CMAKE_FIND_ROOT_PATH. This all >>>>> seems to work well. >>>>> >>>>> What I'm seeing is that the exported files that get installed to >>>>> CMAKE_INSTALL_PREFIX contain absolute paths to libpcap on my machine, >>>>> which >>>>> make them useless to other team members. >>>>> >>>>> The first thing I changed was to use CONFIGURE_PACKAGE_CONFIG_FILE >>>>> instead of CONFIGURE_FILE. This got rid of absolute paths in the >>>>> generated >>>>> CMake config file. >>>>> >>>>> However, I still have absolute paths in the CMake target import file >>>>> that gets generated. The IMPORTED_LINK_INTERFACE_LIBRARIES target >>>>> property >>>>> has an absolute path instead of one relative to CMAKE_INSTALL_PREFIX. >>>>> >>>>> I've read the "Creating Relocatable Packages" [1] section of the CMake >>>>> packages documentation. I'm pretty sure this is what I'm running into, but >>>>> I don't quite understand how to solve it. The documentation says that I >>>>> should be using imported targets, but I'm not sure how to do so. The >>>>> library is just using its own FindPCAP.cmake file to locate libpcap. >>>>> >>>>> Does anyone know of an example of a CMake package that imports other >>>>> libraries? I could also try to create a minimal example project with this >>>>> setup if it would be helpful. >>>>> >>>>> Thanks, >>>>> Zac >>>>> >>>>> [1]: >>>>> https://cmake.org/cmake/help/v3.3/manual/cmake-packages.7.html#creating-relocatable-packages >>>>> >>>>> >>>> >>>> -- >>>> >>>> Powered by www.kitware.com >>>> >>>> Please keep messages on-topic and check the CMake FAQ at: >>>> http://www.cmake.org/Wiki/CMake_FAQ >>>> >>>> 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 >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/cmake >>>> >>> >>> >>> >>> -- >>> Guillaume Dumont >>> ========================= >>> dumont.guilla...@gmail.com >>> >> >> >> -- >> >> Powered by www.kitware.com >> >> Please keep messages on-topic and check the CMake FAQ at: >> http://www.cmake.org/Wiki/CMake_FAQ >> >> 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 >> http://www.kitware.com/opensource/opensource.html >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/cmake >> > > > > -- > Pau Garcia i Quiles > http://www.elpauer.org > (Due to my workload, I may need 10 days to answer) > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > 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 > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ 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 http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake