-
Notifications
You must be signed in to change notification settings - Fork 465
Improve c make building #2
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
Improve c make building #2
Conversation
The cblas_mangling_with_flags.h and lapacke_mangling_with_flags.h are template files that are not used directly. They need to be configured (i.e. copied) to lapacke_mangling.h and cblas_mangling.h header files that are used. These renamings make the intent of these files more clearly reported. The file LAPACKE/include/lapacke_mangling.h should not be stored in the repository because it should be generated (copied from above) at build time.
@sebastien-villemot @julielangou I've provided two patches to 1) clarify and improve the dual building with cmake and Makefiles, 2) provide more testing for cases when the cmake found compilers for fortran and C are not compatible with each other. I have a few notes of other relatively minor cmake build improvements that I will hold off on until this set of changes is accepted/rejected. Thank you, |
Use CMake capabilities to test if the specified fortran and C compilers are compatible. Fail early if they are determined to be incompatible. Use CMake capabilities to generate platform specific header files, If CMake FortranCInterface_HEADER function fails to identify FortranCInterface_GLOBAL_FOUND or FortranCInterface_MODULE_FOUND, then fall back to the statically generated file that is used by Makefiles.
bc3cb4d
to
2cf2448
Compare
@@ -58,7 +55,7 @@ else (USE_XBLAS) | |||
endif(USE_XBLAS) | |||
|
|||
lapack_install_library(lapacke) | |||
INSTALL( FILES ${LAPACKE_INCLUDE} DESTINATION include ) | |||
INSTALL( FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h DESTINATION include ) |
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 had missed adding ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h to the installed files in the earlier commit.
This was a problem when using default cmake "find_package(LAPACKE REQUIRED)" from an external package.
Thank you very much Hans for your contribution. |
Not very sure why, but the author of this commit is me while it should be you. |
@julielangou I am still the author of the commit that fixes the bug, you are the author of the merge commit. Git is careful about giving attributes (blame) to each person involved. You merge commit is giving you attribution for accepting the changes provided by me. |
# Das ist die erste Commit-Beschreibung: Add xGEMMT and their test cases The xGEMMT subroutines are added in the Fortran API. The tests are updated as well. # Die Commit-Beschreibung Reference-LAPACK#2 wird ausgelassen: # Add DGEMMT # Die Commit-Beschreibung Reference-LAPACK#3 wird ausgelassen: # Add sgemmt
Merge branch 'Reference-LAPACK:master' into larft
No description provided.