8000 refactoring for GIT_SELF tests by headupinclouds · Pull Request #90 · elucideye/acf · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

refactoring for GIT_SELF tests #90

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

Merged
merged 3 commits into from
Jun 10, 2018
Merged

refactoring for GIT_SELF tests #90

merged 3 commits into from
Jun 10, 2018

Conversation

headupinclouds
Copy link
Contributor

Mods to allow building src/app tree with hunter managed acf build via the magic of GIT_SELF. Some library layout changes are required to keep private and public acf headers separate.

The util (and io) directory contains utility classes/functions used by the acf library. In this context they are effectively non-exported == private headers. They are also used as a support lib in the various console apps and unit tests within the repository.

The util directory sits parallel with the root acf folder so that the target_include_directories() calls can include util headers without automatically including acf headers from the repository tree, as we want to make sure the acf folder includes can be provided exclusively from the the installed/managed acf package, using:

hunter_config(acf GIT_SELF ...)

Layout:

     lib
      +-util  : utility function
      +-io    : io/serialization functions
      +-acf
         +-acf : acf implementation

Example src/app/acf/acf.cpp:

#include <acf/ACF.h>      // from ${HOME}/.hunter/<SNIP>/Install/acf
#include <util/Logger.h>  // provided from acf/src/lib/util (in-repo)

int main(int argc, char **argv)
{
   // snip
}
  • rework src/lib/{io,acf/acf,util} layout
  • add support for GIT_SELF based builds of src/app tree and provide cmake/Hunte/config.cmake to support this
  • update drishti-upload
  • update apps for latest cxxopts parse return type
  • remove unused functions/files: string_utils.h and timing.h
  • update .gitignore (_*/)

Mods to allow building src/app tree with hunter managed acf build via the magic of GIT_SELF.  Some library layout changes are required to keep private and public acf headers separate.

The util (and io) directory contains utility classes/functions used by the acf library.  In this context they are effectively non-exported == private headers.  They are also used as a support lib in the various console apps and unit tests within the repository.

The util directory sits parallel with the root acf folder so that the target_include_directories() calls can include util headers without automatically including acf headers from the repository tree, as we want to make sure the acf folder includes can be provided exclusively from the the installed/managed acf package, using:

```
hunter_config(acf GIT_SELF ...)
```

Layout:
```
     lib
      +-util  : utility function
      +-io    : io/serialization functions
      +-acf
         +-acf : acf implementation
```

Example src/app/acf/acf.cpp:
```
#include <acf/ACF.h>      // from ${HOME}/.hunter/<SNIP>/Install/acf
#include <util/Logger.h>  // provided from acf/src/lib/util (in-repo)

int main(int argc, char **argv)
{
   // snip
}
```

* rework src/lib/{io,acf/acf,util} layout
* add support for GIT_SELF based builds of src/app tree and provide cmake/Hunte/config.cmake to support this
* update drishti-upload
* update apps for latest cxxopts parse return type
* remove unused functions/files: string_utils.h and timing.h
* update .gitignore (_*/)
@headupinclouds
Copy link
Contributor Author

Addresses #88

@headupinclouds headupinclouds requested a review from ruslo June 10, 2018 15:35
@ruslo ruslo merged commit 33224ac into master Jun 10, 2018
@ruslo ruslo deleted the pr.git_self branch June 10, 2018 16:16
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
0