My experiences setting up a C++ project using VAMP as a third party directory #30
Closed
claytonwramsey
started this conversation in
General
Replies: 2 comments
-
|
turns out this is actually not enough - some headers for VAMP also require pdqsort (and maybe other libraries; I haven't run up against them yet). Still debugging... |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
#31 will resolve this, though it is still WIP. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I've been trying to see if I can use VAMP as a library, so I had to set up VAMP as a third-party directory. I eventually managed to get a simple test binary (which currently includes, but does not call upon, VAMP as a dependency) running.
The biggest issue is that VAMP doesn't seem to forward its own dependencies when used as a dependency itself. I worked around that by manually editing VAMP's own internal include directories / link targets and also by overwriting the dependency as needed.
For starters, here's my project structure:
project ├── CMakeLists.txt ├── external │ ├─── vamp │ │ ├── external │ │ └── CMakeLists.txt │ └── CMakeLists.txt └── src └── test.cpp(I use
externalas a subfolder for all vendored dependencies, andvampis a Git submodule of this repository at the latest version).There are 3 CMakeLists files of relevance:
/external/vamp/CMakeLists.txt/external/CMakeLists.txt/CMakeLists.txt/external/vamp/CMakeLists.txtis largely the same, except I made the value ofVAMP_EXT_INCLUDESpublic to make the include directories visbile to my project:Inside of
/external/CMakeLists.txtI added the path to the source headers forvampto the publicly available list of includes and forwarded it as one variable:Finally, I had to manually include the
Eigenon top of requiring the above include directories in my top-level/CMakeLists.txt.I am not particularly good at CMake, so there may be a far less painful way to do all this; if not, maybe we should make some effort to make it easier to use VAMP as a submodule.
Beta Was this translation helpful? Give feedback.
All reactions