|
| 1 | +# -------------------------- |
| 2 | +# The communication routines |
| 3 | +# -------------------------- |
| 4 | +set (comm |
| 5 | + igesd2d_.c sgesd2d_.c dgesd2d_.c cgesd2d_.c zgesd2d_.c |
| 6 | + itrsd2d_.c strsd2d_.c dtrsd2d_.c ctrsd2d_.c ztrsd2d_.c |
| 7 | + igerv2d_.c sgerv2d_.c dgerv2d_.c cgerv2d_.c zgerv2d_.c |
| 8 | + itrrv2d_.c strrv2d_.c dtrrv2d_.c ctrrv2d_.c ztrrv2d_.c |
| 9 | + igebs2d_.c sgebs2d_.c dgebs2d_.c cgebs2d_.c zgebs2d_.c |
| 10 | + igebr2d_.c sgebr2d_.c dgebr2d_.c cgebr2d_.c zgebr2d_.c |
| 11 | + itrbs2d_.c strbs2d_.c dtrbs2d_.c ctrbs2d_.c ztrbs2d_.c |
| 12 | + itrbr2d_.c strbr2d_.c dtrbr2d_.c ctrbr2d_.c ztrbr2d_.c |
| 13 | + igsum2d_.c sgsum2d_.c dgsum2d_.c cgsum2d_.c zgsum2d_.c |
| 14 | + igamx2d_.c sgamx2d_.c dgamx2d_.c cgamx2d_.c zgamx2d_.c |
| 15 | + igamn2d_.c sgamn2d_.c dgamn2d_.c cgamn2d_.c zgamn2d_.c) |
| 16 | + |
| 17 | +# -------------------- |
| 18 | +# The support routines |
| 19 | +# -------------------- |
| 20 | +set (supp |
| 21 | + blacs_setup_.c blacs_set_.c blacs_get_.c |
| 22 | + blacs_abort_.c blacs_exit_.c blacs_pnum_.c blacs_pcoord_.c |
| 23 | + ksendid_.c krecvid_.c kbsid_.c kbrid_.c |
| 24 | + dcputime00_.c dwalltime00_.c blacs_pinfo_.c |
| 25 | + blacs_init_.c blacs_map_.c blacs_free_.c blacs_grid_.c blacs_info_.c |
| 26 | + blacs_barr_.c sys2blacs_.c blacs2sys_.c free_handle_.c) |
| 27 | + |
| 28 | +# --------------------- |
| 29 | +# The internal routines |
| 30 | +# --------------------- |
| 31 | +set (internal |
| 32 | + BI_HypBS.c BI_HypBR.c BI_IdringBS.c BI_IdringBR.c |
| 33 | + BI_MpathBS.c BI_MpathBR.c BI_SringBS.c BI_SringBR.c |
| 34 | + BI_TreeBS.c BI_TreeBR.c |
| 35 | + BI_Ssend.c BI_Rsend.c BI_Srecv.c BI_Asend.c BI_Arecv.c |
| 36 | + BI_TreeComb.c BI_BeComb.c BI_MringComb.c |
| 37 | + BI_ArgCheck.c BI_TransDist.c BI_GetBuff.c BI_UpdateBuffs.c |
| 38 | + BI_EmergencyBuff.c BI_BlacsErr.c BI_BlacsWarn.c BI_BlacsAbort.c |
| 39 | + BI_BuffIsFree.c BI_imvcopy.c BI_smvcopy.c BI_dmvcopy.c |
| 40 | + BI_ivmcopy.c BI_svmcopy.c BI_dvmcopy.c |
| 41 | + BI_Pack.c BI_Unpack.c BI_GetMpiGeType.c BI_GetMpiTrType.c |
| 42 | + BI_ivvsum.c BI_svvsum.c BI_dvvsum.c BI_cvvsum.c BI_zvvsum.c |
| 43 | + BI_ivvamx.c BI_svvamx.c BI_dvvamx.c BI_cvvamx.c BI_zvvamx.c |
| 44 | + BI_ivvamx2.c BI_svvamx2.c BI_dvvamx2.c BI_cvvamx2.c BI_zvvamx2.c |
| 45 | + BI_ivvamn.c BI_svvamn.c BI_dvvamn.c BI_cvvamn.c BI_zvvamn.c |
| 46 | + BI_ivvamn2.c BI_svvamn2.c BI_dvvamn2.c BI_cvvamn2.c BI_zvvamn2.c |
| 47 | + BI_iMPI_amx.c BI_sMPI_amx.c BI_dMPI_amx.c BI_cMPI_amx.c |
| 48 | + BI_zMPI_amx.c BI_iMPI_amx2.c BI_sMPI_amx2.c BI_dMPI_amx2.c |
| 49 | + BI_cMPI_amx2.c BI_zMPI_amx2.c BI_iMPI_amn.c BI_sMPI_amn.c |
| 50 | + BI_dMPI_amn.c BI_cMPI_amn.c BI_zMPI_amn.c BI_iMPI_amn2.c |
| 51 | + BI_sMPI_amn2.c BI_dMPI_amn2.c BI_cMPI_amn2.c BI_zMPI_amn2.c |
| 52 | + BI_cMPI_sum.c BI_zMPI_sum.c BI_ContxtNum.c BI_GlobalVars.c |
| 53 | + BI_TransUserComm.c ) |
| 54 | + |
| 55 | + |
| 56 | +# |
| 57 | +# Note on CMAKE (from Brad - Kitware) |
| 58 | +# |
| 59 | +#CMake hides the intermediate object files from its interface so there is |
| 60 | +#no direct way to do this within a single target. This limitation comes |
| 61 | +#from the requirement to support generation of build systems like VS IDE |
| 62 | +#project files that do not expose object files explicitly. |
| 63 | + |
| 64 | +# Solution 1 : Build separate libraries, one for each block of objects |
| 65 | +#set(blacsFint ${comm} ${supp}) |
| 66 | +#add_library(blacsCint ${comm} ${supp}) |
| 67 | +#set_property(TARGET blacsCint PROPERTY COMPILE_DEFINITIONS CallFromC) |
| 68 | +#add_library(scalapack ${internal} ${blacsFint}) |
| 69 | +#target_link_libraries(scalapack blacsCint) |
| 70 | + |
| 71 | +# Solution 2 : Create an extra source file that #include-s the original one |
| 72 | +set(srcs ${comm} ${supp}) |
| 73 | +set(srcs_C) |
| 74 | +foreach(src ${srcs}) |
| 75 | +# string(REPLACE ".c" "-C.c" src_C "${CMAKE_CURRENT_BINARY_DIR}/${src}") |
| 76 | + string(REPLACE ".c" "-C.c" src_C "${src}") |
| 77 | + configure_file(src-C.c.in ${src_C} @ONLY) |
| 78 | + list(APPEND srcs_C ${src_C}) |
| 79 | +endforeach() |
| 80 | + |
| 81 | +set(blacs ${srcs} ${srcs_C} ${internal}) |
| 82 | +#add_library(scalapack ${srcs} ${srcs_C} ${internal}) |
| 83 | +#scalapack_install_library(scalapack) |
| 84 | + |
0 commit comments