-
Notifications
You must be signed in to change notification settings - Fork 287
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
Drop supporting Trusty and use imported targets for dependencies #1212
Conversation
when a downstream library imports DART. This is to import targets of the dependency libraries (if available) so that the dependency library is properly linked when the library is a target but not an absolute path to the library. Without this, simply linking to a dependency target will fail as #1200.
I'm having trouble building this on mojave. First it has trouble linking to assimp:
Then if I manually add the path to the assimp library to
|
The |
…e with macOS (at least Mojave)
@scpeters I think there were two issues in building on Mojave, which should be fixed by the last few commits. First, I switched to use the upstream config file of assimp, but they use a hard-coded library path that doesn't work for macOS. So I fall back to using own module file, Second, |
I just tested 7c13f5d on our mojave test machine, and it builds successfully. Nice work! |
Thanks for the testing! Let me merge this PR once Travis CI becomes happy. |
This PR is a sequel of #1209, and more will be followed to modernize CMake scripts of DART. Here are two main changes in this PR.
Drop supporting Ubuntu 14.04 (Trusty) in DART 6.7. The main reason is to use the recent CMake features (e.g., target-based dependency management), which requires CMake >= 3. Also, this is to reduce the effort of supporting the too old version of dependencies.
Use
IMPORTED
targets for dependency libraries where available. For the dependencies that don't provide targets, define the targets in the finding modules,Find<package>.cmake
. Use the same target name when the corresponding dependency provides the target in their latest version, which is not released yet.Before merging a pull request