Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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