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

Ide friendly #282

Merged
merged 4 commits into from
Nov 9, 2023
Merged

Ide friendly #282

merged 4 commits into from
Nov 9, 2023

Conversation

vopl
Copy link
Contributor

@vopl vopl commented Nov 5, 2023

Indexing the header files in a fictitious target to work more conveniently with them in the IDE (navigation, refactoring, etc)

@rm5248
Copy link
Contributor

rm5248 commented Nov 8, 2023

note: I need to take a closer look at this, since I see there is a random file that is generated I want to make sure it's not going to mess anything up with symbols in the library. Otherwise I would merge it

@vopl
Copy link
Contributor Author

vopl commented Nov 8, 2023

All headers are available in IDE, so, IDE can does many useful things: text search, code completion, navigation between c++ entities, analyze sources with clang tools, ...
image

note: I need to take a closer look at this, since I see there is a random file that is generated I want to make sure it's not going to mess anything up with symbols in the library. Otherwise I would merge it

One a fake source file ${CMAKE_CURRENT_BINARY_DIR}/empty-lib-stub.cpp, I have added to include-target, is a minimal c++ translation unit with one an entity, named someUnused. It is required for some toolchains (on osx for example), which cannot works with empty archives. This entity has an internal linkage and does not used from any other, so, no symbol exported in result binary. Also, please note, include-targets do not link with general targets, so, no include-content is placed to them.

@rm5248
Copy link
Contributor

rm5248 commented Nov 8, 2023

One a fake source file ${CMAKE_CURRENT_BINARY_DIR}/empty-lib-stub.cpp, I have added to include-target, is a minimal c++ translation unit with one an entity, named someUnused. It is required for some toolchains (on osx for example), which cannot works with empty archives. This entity has an internal linkage and does not used from any other, so, no symbol exported in result binary. Also, please note, include-targets do not link with general targets, so, no include-content is placed to them.

Ah, it's a separate target, I didn't see that at first. Looks good to me; I'll merge it in tomorrow morning if there are no objections from anybody.

@rm5248 rm5248 merged commit e4ab09a into apache:master Nov 9, 2023
12 checks passed
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.

2 participants