[CMake] target_link_libraries - private public interface rules
Miller Henry
MillerHenry at JohnDeere.com
Tue Aug 22 11:31:56 EDT 2017
Is that the right place to say things like
If a header file contains
#include <OtherLibraryClassHeader.h>
Then OtherLibrary is probably candidate for PUBLIC, if the header contains the predeclaration
class OtherLibraryClass;
then OtherLibrary should be PRIVATE?
I'm not against putting that content in official cmake documentation, but it seems like something that has never been done before.
-----Original Message-----
From: Robert Maynard [mailto:robert.maynard at kitware.com]
Sent: Tuesday, August 22, 2017 9:46 AM
To: Miller Henry <MillerHenry at JohnDeere.com>
Cc: cmake at cmake.org
Subject: Re: [CMake] target_link_libraries - private public interface rules
You could look at extending the official CMake documentation, specifically the build system documentation ( https://cmake.org/cmake/help/v3.9/manual/cmake-buildsystem.7.html ).
The documentation is all in restructure text and we accept documentation changes through our gitlab instance.
cmake gitlab: https://gitlab.kitware.com/cmake/cmake
build-system restructure page:
https://gitlab.kitware.com/cmake/cmake/blob/master/Help/manual/cmake-buildsystem.7.rst
contribution guideline:
https://gitlab.kitware.com/cmake/cmake/blob/master/CONTRIBUTING.rst
On Tue, Aug 22, 2017 at 9:44 AM, Miller Henry <MillerHenry at johndeere.com> wrote:
>
> I’ve been playing with the private/public/interface keyword to
> target_link_libraries. It seems to me that WHAT they do is well
> documented, but nobody has ever actually documented what they correct
> rules of WHEN/WHY you should use any of them. After a lot of misstarts
> I think I’ve started to understand what the rules should be. I think
> they need to be written down someplace so that others don’t have to
> make the mistakes I have. Also it would be nice if others would look
> this list over to see what else might be overlooking.
>
> Can somebody point me to a good place to do this? Sending to the
> mailing list seems like a poor solution as corrections will not be easily findable.
> A wiki seems ideal, but which? KDE in particular should probably have
> these rules in their official requirements, but I’m not sure if they
> are the correct ones to own them.
>
>
> --
>
> 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
More information about the CMake
mailing list