Skip to content

Boost include directories are now tied to targets directly #549

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 16, 2015

Conversation

rcdailey
Copy link

@rcdailey rcdailey commented Aug 6, 2015

Boost is required for cppnetlib & related projects. Thus, it should transitively provided include directories to its own source as well as the include directories to its dependencies (Boost in this case).

That way if there are other CMake targets that depend on cppnetlib but not Boost directly, it will still be able to compile cppnetlib headers that include boost headers.

The include directories are tied to respective targets via the new target_include_directories() CMake command. This requires a newer version of CMake (v3.0 minimum).

@deanberris
Copy link
Member

@rcdailey -- thanks, but unfortunately it looks like Travis doesn't have CMake 3.0 yet. Do you know enough to update the CMake version in the .travis.yml file too so that we can make sure the continuous integration environment doesn't fail when we merge this change in?

@rcdailey
Copy link
Author

rcdailey commented Aug 7, 2015

@deanberris Thanks for the quick response. I've never used Travis before (I'm more of an Atlassian Stash + Bamboo guy). I'll take a peek at the file and see what I can figure out. Any tips on what I should change?

EDIT: I see in the yml file that you have access to aptitude. Is Travis running on Ubuntu or similar distro? You can probably just install a custom repo for latest CMake build:
http://askubuntu.com/questions/610291/how-to-install-cmake-3-2-on-ubuntu-14-04

Then install the proper version from the script. I'm not sure how to do all that, but I'm happy to do the work if you can give me some pointers.

@rcdailey rcdailey force-pushed the cmake-include-directories branch from a74a79b to 319cd44 Compare August 7, 2015 15:03
@rcdailey
Copy link
Author

rcdailey commented Aug 7, 2015

So I modified the yml file to install a custom repository for CMake and then install CMake. But it's saying there is no upgrade for it. Anything I'm doing wrong?

@deanberris
Copy link
Member

I actually don't know much about installing cmake this way. 😦 I would like to support this change, but unfortunately I think maybe CMake 3.0 is still too new? The risk here is that if I merge this change in, Travis CI would just be totally useless.

rcdailey and others added 2 commits October 11, 2015 09:34
Boost is required for cppnetlib & related projects. Thus, it should
transitively provided include directories to its own source as well
as the include directories to its dependencies (Boost in this case).

That way if there are other CMake targets that depend on cppnetlib
but not Boost directly, it will still be able to compile cppnetlib
headers that include boost headers.

The include directories are tied to respective targets via the new
target_include_directories() CMake command. This requires a newer
version of CMake (v3.0 minimum).
* Updated README: CMake >= 3.0 required
@rcdailey rcdailey force-pushed the cmake-include-directories branch from 392b10e to 2adcf66 Compare October 11, 2015 14:35
@rcdailey
Copy link
Author

Thanks to @wose, my branch should now work with CMake 3.0 on Travis. Thank you for taking the time to fix this on my branch!

@KazDragon
Copy link

Hi, guys. If it helps, my repo (telnetpp) has a travis script that wgets and caches a later version of cmake. Feel free to use it as a reference.

@deanberris
Copy link
Member

Awesome stuff, thanks @rcdailey and @wose -- @KazDragon maybe you'd like to think about moving telnetpp into cpp-netlib too someday, if you're up for it? 😄

@deanberris
Copy link
Member

LGTM

thanks everyone for the help here!

deanberris added a commit that referenced this pull request Oct 16, 2015
Boost include directories are now tied to targets directly
@deanberris deanberris merged commit d0b0a6f into cpp-netlib:master Oct 16, 2015
@deanberris
Copy link
Member

BTW, @rcdailey -- maybe you'd like to make this change to the 0.11-devel branch too? That's the one which gets shipped as the stable releases currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants