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

refactor: cmake setup #23

Merged
merged 16 commits into from Nov 30, 2018

Conversation

ciband
Copy link
Contributor

@ciband ciband commented Nov 24, 2018

Proposed changes

Refactored cmake to make the project easier to include in end-user applications. Updated PlatformIO as needed. Attempted to follow best practices for cmake and C++.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactoring (improve a current implementation without adding a new feature or fixing a bug)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Build (changes that affect the build system)
  • Docs (documentation only changes)
  • Test (adding missing tests or fixing existing tests)
  • Other... Please describe:

Checklist

  • I have read the CONTRIBUTING documentation
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

This change will support the creation of a "HelloArk" getting started project and allow cpp-client to be cmake "add_subdirectory" friendly to allow anyone to include it in their project.

Refactor cmake and project organization to be more modular and to better conform to best practices.
Corrected tests link errors by reverting GTest back to hunter package instead of submodule.  Removed Windows compile flags for /MT
Changed tests to just compare native types instead of converting to strings when not needed.
Fixed PlatformIO builds to work with new folder structure.  Removed submodule python script in favor of just ignoring the directory.  This will allow desktop and IoT to better co-exist in the same source tree. Remove [common] section of test/platformio.ini as it did not seem to actually be respected.
@ciband
Copy link
Contributor Author

ciband commented Nov 24, 2018

build failures are due to test failures dealing with timestamp.

This is corrected in #22.

faustbrian and others added 3 commits November 29, 2018 05:55
Added missing adapter macro to GTest adapter.

Will submit PR to AUnit library for proper fix.
@ciband
Copy link
Contributor Author

ciband commented Nov 29, 2018

macOS builds are not running (and failing the check) due to some sort of CircleCI admin issue. Not a problem with the PR.

I do not know what the expect results from CircleCI are. This appears to be running just CI on my branch and not on the PR. If this is the case then macOS builds will always fail for my PRs since I do not have a paid macOS plan.

@sleepdefic1t
Copy link
Contributor

Can confirm this passes tests on macOS.

CI issue is also discussed here: Cpp-Crypto #27.

@faustbrian faustbrian changed the title feat: Refactor cmake refactor: cmake setup Nov 30, 2018
@faustbrian faustbrian merged commit 3d9e138 into ArkEcosystemArchive:master Nov 30, 2018
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.

None yet

3 participants