-
Notifications
You must be signed in to change notification settings - Fork 73
Updating cmake config to support publication and package building #245
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
Conversation
Pull Request Test Coverage Report for Build 1355799137Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple questions but nothing that's a blocker.
Installing all files into a single directory makes me think we need to revisit file naming for a few sketches. Mostly HLL (which is my fault).
set(datasketches_INSTALL_DIR ${INSTALL_DIR}) | ||
message("Source dir of datasketches = ${datasketches_INSTALL_DIR}") | ||
target_include_directories(my_dependent_target | ||
PRIVATE ${datasketches_INSTALL_DIR}/include/DataSketches) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRIVATE seems to be spaced way over for some reason?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this spacing is because I use 4-space tabs in my editor. The file is a bit of a mix between tabs and spaces (and some of that is my fault), with tab seeming to be the default. It looks like git is showing the data using 8-space tabs, which makes it line up differently than in my editor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer spaces for consistency, but this is not critical
|
||
``` | ||
find_package(DataSketches 3.2 REQUIRED) | ||
target_link_library(my_dependent_target PUBLIC ${DATASKETCHES_LIB}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we provide the set (of size 1, I think?) of exported variables somewhere?
I guess related, do we want to expose the individual sketches or just have people depend on the entire library? I think it'll only pull in relevant files since we're header-only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, a list of the environment variables is likely useful in the doc. In fact, it should probably be expanded to more than one, as both include directory, library, and target are useful.
In response you @jmalkin's single directory comment, the files are named such that there are no collisons right now, but I suspect that restructuring the install image so that there is a toplevel datasketches directory that contains separate directories for each individual sketch type, plus a common directory, would be a better layout. Unfortunately, that has a fairly high impact, as it potentially changes the |
A bunch of cmake changes to improve a bunch of things: