|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
-
- include_directories(${CMAKE_SOURCE_DIR})
-
- # sources that need to be compiled twice, once with no flags and once with LOWER
- set(UL_SOURCES
- sbmv_k.c
- spmv_k.c
- spr_k.c
- spr2_k.c
- syr_k.c
- syr2_k.c
- )
-
- # sources that need to be compiled several times, for UNIT, TRANS
- set(NU_SOURCES
- tbmv_U.c
- tbsv_U.c
- tpmv_U.c
- tpsv_U.c
- trmv_U.c
- trsv_U.c
- tbmv_L.c
- tbsv_L.c
- tpmv_L.c
- tpsv_L.c
- trmv_L.c
- trsv_L.c
- )
-
- # first compile all the objects that don't need specific preprocessor defines
- add_library(DBLAS_NONE OBJECT
- gbmv_k.c # gbmv_N
- ${UL_SOURCES}
- ${NU_SOURCES}
- )
-
- # then do objects with transpose/triangular/etc definitions
-
- # objects that need TRANS set
- add_library(DBLAS_T OBJECT gbmv_k.c ${NU_SOURCES})
- set_target_properties(DBLAS_T PROPERTIES COMPILE_DEFINITIONS "TRANS")
-
- # objects that need LOWER set
- add_library(DBLAS_L OBJECT ${UL_SOURCES})
- set_target_properties(DBLAS_L PROPERTIES COMPILE_DEFINITIONS "LOWER")
-
- # objects that need UNIT set
- add_library(DBLAS_U OBJECT ${NU_SOURCES})
- set_target_properties(DBLAS_U PROPERTIES COMPILE_DEFINITIONS "UNIT")
-
- # objects that need TRANS and UNIT set
- add_library(DBLAS_TU OBJECT ${NU_SOURCES})
- set_target_properties(DBLAS_TU PROPERTIES COMPILE_DEFINITIONS "UNIT;TRANS")
-
- #if (DEFINED SMP)
- # add_library(DBLASOBJS_SMP
- # dgemv_thread_n.c dgemv_thread_t.c
- # dger_thread.c
- # dsymv_thread_U.c dsymv_thread_L.c
- # dsyr_thread_U.c dsyr_thread_L.c
- # dsyr2_thread_U.c dsyr2_thread_L.c
- # dspr_thread_U.c dspr_thread_L.c
- # dspr2_thread_U.c dspr2_thread_L.c
- # dtrmv_thread_NUU.c dtrmv_thread_NUN.c
- # dtrmv_thread_NLU.c dtrmv_thread_NLN.c
- # dtrmv_thread_TUU.c dtrmv_thread_TUN.c
- # dtrmv_thread_TLU.c dtrmv_thread_TLN.c
- # dspmv_thread_U.c dspmv_thread_L.c
- # dtpmv_thread_NUU.c dtpmv_thread_NUN.c
- # dtpmv_thread_NLU.c dtpmv_thread_NLN.c
- # dtpmv_thread_TUU.c dtpmv_thread_TUN.c
- # dtpmv_thread_TLU.c dtpmv_thread_TLN.c
- # dgbmv_thread_n.c dgbmv_thread_t.c
- # dsbmv_thread_U.c dsbmv_thread_L.c
- # dtbmv_thread_NUU.c dtbmv_thread_NUN.c
- # dtbmv_thread_NLU.c dtbmv_thread_NLN.c
- # dtbmv_thread_TUU.c dtbmv_thread_TUN.c
- # dtbmv_thread_TLU.c dtbmv_thread_TLN.c
- # )
- #endif ()
-
- set(DBLAS_TARGETS DBLAS_NONE DBLAS_T DBLAS_L DBLAS_U DBLAS_TU)
-
- foreach (DBLAS_TARGET ${DBLAS_TARGETS})
- set_target_properties(${DBLAS_TARGET} PROPERTIES COMPILE_DEFINITIONS DOUBLE)
- endforeach ()
-
|