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

Revamped setup #228

Merged
merged 37 commits into from
Oct 5, 2021
Merged

Revamped setup #228

merged 37 commits into from
Oct 5, 2021

Conversation

The-EDev
Copy link
Member

@The-EDev The-EDev commented Sep 29, 2021

I'm pretty sure this is the biggest PR ever submitted to Crow, in all aspects.

A Huge Thank You to @luca-schlecker for pretty much making this PR. And making everything I built on top possible. Absolutely none of these features would be here without your hard work and expertise. Your help is invaluable!
Also Thanks to @Leon0402 for helping out with CMake submodule support

Changes

  • FetchContent support.
  • A proper CMake target (Linking to Crow::Crow).
  • FindPackage support.
  • Almost all examples on machines compiling with MSVC .
  • Submodule support.
  • Optional installation step.
  • Removed tcmalloc from cmake and documentation.
  • Amalgamate, Compression, and SSL are all now part of CMake, latter two do not require definition inside the source file anymore. not enabling them will not build their tests/examples.
  • Completely overhauled release script, now changes all code, creates 3 different packages (deb, aur, and standalone tar).
  • Removed installing crow_all.h in favor of multiple headers and crow.h.
  • Updated deb metadata.
  • Clarified license.
  • Improved visibility on gitter badge.
  • Tests now use Debug (no optimization) builds (Improves code coverage by 2% and gives correct line reports).
  • Added separate documentation for Linux, MacOS, and Windows Crow setup (old doc remains as Legacy, will be removed after next release).
  • Added 404 and 405 error explanation for catchall route docs.
  • Added analytics via matomo (analytics hosted on my personal site), also added privacy policy page with link in footer).
  • Updated code colors to match light theme.
  • Added display for Crow's financial supporters on OpenCollective.
  • Fixed Sidebar issue on narrow screens.
  • Fixed Get crow Icons being misaligned.
  • CROW_ENABLE_SSL doesn't disable non-SSL code anymore (reverts Disable non SSL code on SSL macro #206).
  • SSL Tests added (added ssl testing #130).
  • Fixed issue where cpp-coveralls wasn't compatible with newer GCOV versions.
  • Fixed issue where PR coverage would affect master coverage results

Shortcomings

  • CMake tutorials aren't as good as I would like them to be (Especially on Windows and MacOS)
  • New cpp-coveralls not tested on drone.io Test ran, seems like it succeeded.
  • I didn't add all the other tutorials, primarily due to this PR becoming too big and them being off topic anyway
  • I forgot to add -DCROW_AMALGAMATE=ON to .travis.yml

Closes #160 #219 #214

The-EDev and others added 29 commits April 17, 2021 02:33
See #160 for more info.
…nd installing Crow based on Crow being the top-level project.
Friendlier FetchContent and add_subdirectory support.
… and make a couple of commits to have a full release.
This helps make coverage more consistent, and should make any future problems easier to find
…eeds to be run to make sure everything works)
Added analytics via matomo (analytics hosted on my personal site), also added privacy policy page with link in footer
Updated code colors to match light theme
Added display for Crow's financial supporters on OpenCollective
Fixed Sidebar issue on narrow screens
Fixed Get crow Icons being misaligned
@The-EDev The-EDev requested a review from mrozigor September 29, 2021 23:26
This was linked to issues Sep 29, 2021
Copy link
Collaborator

@luca-schlecker luca-schlecker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good otherwise. 👍

docs/getting_started/setup/linux.md Outdated Show resolved Hide resolved
docs/getting_started/setup/windows.md Show resolved Hide resolved
scripts/PKGBUILD Show resolved Hide resolved
The-EDev and others added 6 commits September 30, 2021 13:27
This fix relies on the new changes added to CrowCpp/cpp-coveralls in 8b427c04a691867bb29a0acfc2d948a690476d79
… give the ability to freely choose them, even after it was installed.
Selecting features after installation
@The-EDev
Copy link
Member Author

The-EDev commented Oct 2, 2021

Looks like this PR is now fully ready to be merged. @mrozigor would you like to review it before I merge? @luca-schlecker and I went over it already.

@mrozigor
Copy link
Member

mrozigor commented Oct 4, 2021

Yep - I will try to make review tomorrow.

@The-EDev The-EDev merged commit 41468b0 into master Oct 5, 2021
@The-EDev The-EDev deleted the revamped_setup branch October 5, 2021 10:33
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.

CrowCpp Sidebar broken Better docs readability Installing Crow
4 participants