-
Notifications
You must be signed in to change notification settings - Fork 393
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
Fix #8722 - HVAC-Diagram.exe broken in v9.5 (Modernize CMake Fortran Settings) #8823
Conversation
Similar to what b059d34 did
…keAddFortranSubdirectory doesn't have parent context
13fadd1
to
92fbf39
Compare
…ch fortran subdirectory On Unix it is seen and detected as multiple targets defined with the same name (CMP0002), so only do it once at top level.
I changed a `include_directory()` to a target_include_directory but forgot to do it for each Transition lib as well.
The GCC on-premise machine are failing due to a way too old cmake. target_link_options was added in cmake 3.13: https://cmake.org/cmake/help/latest/command/target_link_options.html |
Gneeeeeee why you ruining my life windows?! Previous build had worked, last is failing... In between I only merged develop. |
So this unrelated build has the same windows error about Transition: https://nrel.github.io/EnergyPlusBuildResults/EnergyPlus-c29a7faf1a977cf3396a8c11c50e42b34d2c9646-Win64-Windows-10-VisualStudio-16.html (coming from PR #8857) Same problem on #8831 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who knew that in 2021, @jmarrec would become a master detective of CMake Fortran subproject quirks? This is great stuff @jmarrec, we should discuss whether this is being tested exhaustively enough to call it complete. We can definitely add some tests to the EPTravisTester engine for these auxiliary pieces, but we also want to make sure Decent is doing a decent job of it as well. From a code perspective this looks good.
add_executable(AppGPostProcess ${SRC}) | ||
set_target_properties(AppGPostProcess PROPERTIES FOLDER Auxiliary) | ||
|
||
if(NOT UNIX) # Need to reinclude it on Windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is gross. And a good fix.
set(VERSIONS | ||
1_0_0 1_0_1 1_0_2 1_0_3 1_1_0 1_1_1 1_2_0 1_2_1 1_2_2 1_2_3 1_3_0 1_4_0 | ||
2_0_0 2_1_0 2_2_0 3_0_0 3_1_0 4_0_0 5_0_0 6_0_0 7_0_0 7_1_0 7_2_0 | ||
8_0_0 8_1_0 8_2_0 8_3_0 8_4_0 8_5_0 8_6_0 8_7_0 8_8_0 8_9_0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am compelled to want the 3's, 4, 5, 6, and 7's in their own lines....... 👀 But I won't hold this up for it.
I confirmed the package build is good on Linux. EP-Compare now at least opens up without complaining about the GraphHints being missing. HVAC Diagram is working fine on Linux, as it was, and for Windows I am relying on the fact that you could reproduce the problem and see the fix. I ran unit tests on the local build with develop pulled in, no problem. CI is super happy with this branch. This is good to go in. Thanks @jmarrec! (As a follow-up, we could add some testing of hvac diagram into the EPTravisTester, we'll discuss later) |
Pull request overview
WIP: I got it building and running fine on Windows, but didn't realize Unix broke...Edit: this should be fixed now
The problem is that on Windows it seems that CMakeAddFortranSubdirectory doesn't know about the target
fortran_project_options
if included via toplevel CMakeList.txtinclude(cmake/Fortran.cmake)
. On Unix it seems that each individual subdirectory is aware of it, resulting in a target name clash.Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.