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

Smart grouping in updated file list #22

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

Quincunx271
Copy link
Contributor

@Quincunx271 Quincunx271 commented Jan 14, 2019

Implement semi-smart grouping in the generated file list. In other words, groups of files are separated by blank lines:

# Before this change:
set(sources
    # sources
    some/path/to/file1.cpp
    some/path/to/file2.cpp
    some/path/to/file3.cpp
    some/other/path/to/file1.cpp
    some/other/path/at/file2.cpp
)

# After this change:
set(sources
    # sources
    some/path/to/file1.cpp
    some/path/to/file2.cpp
    some/path/to/file3.cpp

    some/other/path/to/file1.cpp
    some/other/path/at/file2.cpp
)

There is a latent bug: .\bin\existing.exe runs forever on Windows, and I have no idea why. I couldn't get my debugger to show me the source. Edit: The problem is that fs::ascending_iterator{} produces "/" on Windows, but you can't get higher than "C:\", so find_if keeps going.

Other changes:

  • Use Range V3, but not version 0.4.0, rather the most recent commit. This is because MSVC is only supported on some commit after 0.4.0. Once Range V3 has a new release, we can use conan.
    • I used FetchContent to obtain Range V3 (along with aliasa.io to show some love to slurps-mad-rips) rather than embedding the rather large repo into pitchfork.
  • Use the Catch2 package hosted by catchorg rather than bincrafters. Since there is a Catch2/XXX@catchorg/stable and catch2/XXX@bincrafters/stable, there are problems on Windows because conan can't handle the clashing names caused by the case-insensitive filesystem.

add_subdirectory(mustache)
add_subdirectory(range-v3)
Copy link
Owner

Choose a reason for hiding this comment

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

Is there no Conan package for this one? That seems odd.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is a conan package for range-v3, but its latest version is 0.4.0. There has not been a range-v3 release since 0.4.0, but MSVC is only supported a few commits after 0.4.0. According to the Visual C++ Team Blog:

Releases after 0.4.0 will have MSVC support; until then the commit at 01ccd0e5 is known to be good

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