Skip to content
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

Headers added by passing CMAKE_PREFIX_PATH are not found #198

Open
Pouya-moh opened this issue Nov 26, 2019 · 3 comments
Open

Headers added by passing CMAKE_PREFIX_PATH are not found #198

Pouya-moh opened this issue Nov 26, 2019 · 3 comments

Comments

@Pouya-moh
Copy link

Hi, and thanks for great work.

My project depends on a package that is not in the system search path so I pass its location via -DCMAKE_PREFIX_PATH:

((nil . ((cmake-ide-build-dir . "build")
         (cmake-ide-cmake-args . ("-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DCMAKE_PREFIX_PATH=~/some/user/specified/path/install/")))))

cmake-ide runs the CMakeLists.txt and if I ask, it compiles it perfectly. However, in the buffer I'm having on the fly error that the headers in that install directory cannot be found. Furthermore, rtags-completion fails to populate the backend with the contents of those headers.

I also tried Qtcreator which uses libclang and there, I faced no problem. Either case, the code compiles.

The json file correctly contains -I~/some/user/specified/path/install/include. Note the include at the end of the path which is as it is supposed to be.

Any thoughts?

@atilaneves
Copy link
Owner

The prefix path needs to be passed to flycheck for the on-the-fly errors to disappear. I'm not sure why said path isn't in the compilation database, or if it is, why it's not getting treated properly.

@Pouya-moh
Copy link
Author

Thanks for the reply.

I'm not sure why said path isn't in the compilation database

well the compilation database does contain the path.

This is a bit strange but I did a test: I removed the (cmake-ide-build-dir . "build") so now the project is being built somewhere in /tmp. I do still get the flycheck error which impedes the autocomplete, however, after I trigger cmake-ide-compile which works fine, then all the flyckech issues dissapear and completion works as well.

@atilaneves
Copy link
Owner

That's... even weirder. Unless the path in the compilation db is relative? I don't know.

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

No branches or pull requests

2 participants