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

Background #132

Merged
merged 29 commits into from
Nov 15, 2023
Merged

Background #132

merged 29 commits into from
Nov 15, 2023

Conversation

ryanmrichard
Copy link
Collaborator

@ryanmrichard ryanmrichard commented Nov 2, 2023

Is this pull request associated with an issue(s)?
No

Description
This PR adds some background to the CMaize documentation.

TODOs

  • Look for more similar projects
  • Clean up Statement of Need.

@ryanmrichard ryanmrichard self-assigned this Nov 2, 2023
@ryanmrichard
Copy link
Collaborator Author

ryanmrichard commented Nov 2, 2023

@ryanmrichard
Copy link
Collaborator Author

@AutonomicPerfectionist I have a weird bug. If you pull this branch and try to configure it (cmake -H. -Bbuild should suffice), you should get infinite recursion in CMakeTest's message override. The offending message call is in CMaize/tests/docs/CMakeLists.txt. I checked it in with _message, but I also tried without the _ and ran into the same problem.

The actual message call seems fine to me (right now it's literally a string because I took the $ off of the variable I was trying to debug). So the override should just be calling the native message command...

@ryanmrichard
Copy link
Collaborator Author

FWIW, I realize this bug is better reported in the CMakeTest repo, but I'm not sure what combination of interactions is causing the bug in order to piece together a MWE.

@AutonomicPerfectionist
Copy link
Contributor

Infinite recursion in that override is a recurring (heh) problem, it usually happens because a fatal error is thrown somewhere along the exception handling route, which then starts the recursion over again. I'll take a look in a bit

@AutonomicPerfectionist
Copy link
Contributor

Well this is a new one, somehow the overrides are being included more than once even though there's an include_guard, so the underscore function is overridden as well. Commenting out the include("cmake_test/cmake_test") in tests/CMakeLists.txt fixes it, but obviously that's not a real solution. Going to have to do some more digging to find A) where else cmake_test is being included and B) why the include_guard isn't working

@AutonomicPerfectionist
Copy link
Contributor

@ryanmrichard a small fix in CMakeTest appears to solve it at first glance, probably should do some more tests before merging it though

@ryanmrichard
Copy link
Collaborator Author

@AutonomicPerfectionist Thanks for fixing that so fast! As for more testing, it looks like it fixes this problem; so I'm fine merging it and revisiting the issue if something else comes up.

@ryanmrichard ryanmrichard marked this pull request as ready for review November 10, 2023 18:47
@ryanmrichard
Copy link
Collaborator Author

@zachcran I'm going to freeze this PR here. It quickly got away from me. As I think you'll see this PR really will be the bulk of the paper's background. In preparing that, I really wanted to showcase the simplicity of CMaize vs. CMake. For this reason I wanted code snippets. This led me to needing to unit test the documentation examples to ensure I wasn't missing something (they really did work as advertised). This then led to me basically re-inventing some of what I think underlies your integration tests, though they're run out of this repo in a hopefully platform agnostic way. Basically:

  • CMake/CTest calls CMake in scripting mode.
  • In scripting mode we call CMake in build mode to actually build a sub-project.
  • After building (and potentially installing), still in the original scripting mode call, we again run CMake in scripting mode, this time to run a script which checks the output of the build.

@ryanmrichard
Copy link
Collaborator Author

It looks like me defaulting the C++ version to 98 (when nothing is selected broke things. I'm going to try going back to the old behavior (no value) and skipping the relevant line in _set_compile_features when it's empty (which was my original error).

@zachcran
Copy link
Contributor

@ryanmrichard Sorry for the delay. I'll take a look at this over the weekend!

CMakeLists.txt Outdated Show resolved Hide resolved
Co-authored-by: Zachery Crandall <[email protected]>
CMakeLists.txt Outdated Show resolved Hide resolved
docs/src/background/other_projects.rst Show resolved Hide resolved
docs/src/background/other_projects.rst Outdated Show resolved Hide resolved
docs/src/background/other_projects.rst Outdated Show resolved Hide resolved
docs/src/background/other_projects.rst Outdated Show resolved Hide resolved
docs/src/developer/design/faq.rst Outdated Show resolved Hide resolved
docs/src/developer/design/faq.rst Outdated Show resolved Hide resolved
docs/src/developer/design/faq.rst Outdated Show resolved Hide resolved
tests/docs/conf_build_test.cmake Outdated Show resolved Hide resolved
tests/docs/conf_build_test.cmake Outdated Show resolved Hide resolved
ryanmrichard and others added 2 commits November 15, 2023 13:22
@ryanmrichard ryanmrichard merged commit c7629d3 into master Nov 15, 2023
8 checks passed
@ryanmrichard ryanmrichard deleted the background branch November 15, 2023 20:09
Copy link

🚀 [bumpr] Bumped! New version:v0.1.11 Changes:v0.1.10...v0.1.11

@ryanmrichard ryanmrichard mentioned this pull request Nov 30, 2023
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.

3 participants