diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c35cd6416ff4d1b0b24b7dfd03fe92f5a30ea3a..343a6811393f77c68ebcf37228a0937908180faf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,53 @@ -# include(RulesPrecisions) -# # reset variables -# set(generated_files "") -# set(generated_headers "") +include(RulesPrecisions) -# set(HEADERS -# z_spm.h -# ) +### reset variables +set(generated_sources "") +set(generated_headers "") -# ### generate the dsparse_cores headers for all possible precisions -# precisions_rules_py(generated_headers -# "${HEADERS}" -# PRECISIONS "p;s;d;c;z") +set(HEADERS + z_spm.h +) -# add_custom_target(spm_headers -# DEPENDS ${generated_headers} ) +### Generate the headers in all precisions +precisions_rules_py(generated_headers + "${HEADERS}" + PRECISIONS "p;s;d;c;z") +set(SOURCES + z_spm.c + z_spm_convert_to_csc.c + z_spm_convert_to_csr.c + z_spm_convert_to_ijv.c + z_spm_genrhs.c + z_spm_matrixvector.c + z_spm_norm.c + ) + +set(spm_headers + ${generated_headers} + csc.h + ) + +### Generate the sources in all precisions +precisions_rules_py(generated_sources + "${SOURCES}" + PRECISIONS "p;s;d;c;z") + +set(spm_sources + ${generated_sources} + csc.c + csc_io.c + ) + +add_custom_target(spm_headers_tgt + DEPENDS ${spm_headers} ) + +set_source_files_properties( + spm/csc.c + PROPERTIES DEPENDS spm_headers_tgt + ) + +set(PASTIX_LIB_SRCS + ${PASTIX_LIB_SRCS} + ${spm_sources} + ) \ No newline at end of file