-
Notifications
You must be signed in to change notification settings - Fork 194
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
CMake updates #1181
base: master
Are you sure you want to change the base?
CMake updates #1181
Conversation
if (${HYPRE_SOURCE_DIR} STREQUAL ${HYPRE_BINARY_DIR}) | ||
message(FATAL_ERROR "In-place build not allowed! Please use a separate build directory. See the Users Manual or INSTALL file for details.") | ||
endif () | ||
|
||
if (EXISTS ${HYPRE_SOURCE_DIR}/../.git) |
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.
Why was this removed? I think this has to do with the version check stuff.
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.
See #472
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.
Hi Rob, I moved this check to inside the new macro:
if (EXISTS "${HYPRE_GIT_DIR}") |
Hi @victorapm . I upgraded my version of cmake, but when I do
We shouldn't require the blas to build hypre. Let me know what I should do. Thanks! |
BTW, I am starting to think we should remove the |
Hi Rob, thanks for catching this. I fixed a typo in CMakeLists and this should work as expected now. Thanks!
I agree we should do this for the same reason you brought up |
Hi @victorapm . I still need to review this, but I started to think a bit more about using cmake as my default build option when writing code. It's a bit cumbersome to use right out of the box right now, so I thought we could discuss this more at our next meeting. I added an agenda item. Also, I added a draft idea in commit 9179d21 that copies the executables (in test or examples) to the original source directory to aid with testing. We can chat about this too. |
Sounds great, thanks Rob! |
All, I've added the remaining options to the cmake build (including specific debug flags according to compilers), updated documentation, and changed |
Thanks, @victorapm ! FYI, one thing I noticed regarding the compiler options is that they are not used in the test directory, so -Wall warnings and such don't get caught for the drivers. I assume this is something easy to fix? |
src/docs/usr-manual/ch-misc.rst
Outdated
.. code-block:: bash | ||
|
||
cd src/AUTOTEST | ||
./machine_name.sh ../src |
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 should be ./test.sh machine_name.sh ../src
. However, I'm not sure we should be documenting this in the user manual. There is a README.txt
in the AUTOTEST
directory.
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.
Great! I added info about AUTOTEST just for completeness in that section. Let me know if you think it's better to remove it, or just point to the README.txt in the AUTOTEST folder
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 think we can keep some very minimal info here and point to the README.txt file for details. That will give us lots of flexibility to make modifications to AUTOTEST without having to touch the online documentation (updating the README.txt
and -help
information in the scripts instead).
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.
Thanks, Rob! Just updated this on 0055eeb
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.
Awesome, thanks!
Hi Rob, this should be fixed now, thanks for catching! |
HYPRE_SetupGPUToolkit.cmake
to manage GPU options in cmake buildCMakeLists
and moved helper functions toHYPRE_CMakeUtilities.cmake
, e.g.,setup_git_version_info
for configuring and displaying hypre version using git version infoSOVERSION
field to CMake buildHYPRE_INSTALL_PATH
in favor of the commonly usedCMAKE_INSTALL_PATH
HYPRE_BUILD_TYPE
in favor of the commonly usedCMAKE_BUILD_TYPE
HYPRE_ENABLE_SHARED
in favor of the commonly usedBUILD_SHARED_LIBS
machine-tioga
Closes #1104
Closes #673
Closes #1084
Closes #1073
Closes #1072
Closes #1039
Closes #907
Closes #767
Closes #757
Closes #771
Closes #501
Closes #473
Closes #228
Closes #928