- Notifications
You must be signed in to change notification settings - Fork425
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
@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? |
@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: 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. |
a74a79b
to319cd44
CompareSo 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? |
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. |
Boost is required for cppnetlib & related projects. Thus, it shouldtransitively provided include directories to its own source as wellas the include directories to its dependencies (Boost in this case).That way if there are other CMake targets that depend on cppnetlibbut not Boost directly, it will still be able to compile cppnetlibheaders that include boost headers.The include directories are tied to respective targets via the newtarget_include_directories() CMake command. This requires a newerversion of CMake (v3.0 minimum).
* Updated README: CMake >= 3.0 required
392b10e
to2adcf66
CompareThanks 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 commentedOct 11, 2015
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. |
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? 😄 |
LGTM thanks everyone for the help here! |
Boost include directories are now tied to targets directly
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. |
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).