| cmake_minimum_required(VERSION 3.9) | |
| project(BLASHeader) | |
| file(GLOB BLAS_LL "${CMAKE_CURRENT_SOURCE_DIR}/src/gsl/*.ll") | |
| set(NEED_COMMA FALSE) | |
| list(FILTER BLAS_LL EXCLUDE REGEX ".*test.*") | |
| file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h "") | |
| foreach(file ${BLAS_LL}) | |
| get_filename_component(variableName ${file} NAME_WE) | |
| file(READ ${file} hexString HEX) | |
| set(hexString "${hexString}00") | |
| string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," arrayValues ${hexString}) | |
| string(REGEX REPLACE ",$" "" arrayValues ${arrayValues}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h | |
| "const char __data_${variableName}[] = {${arrayValues}};\n") | |
| endforeach() | |
| file(GLOB BLAS64_LL "${CMAKE_CURRENT_SOURCE_DIR}/../gsl64/src/gsl64/*.ll") | |
| list(FILTER BLAS64_LL EXCLUDE REGEX ".*test.*") | |
| foreach(file ${BLAS64_LL}) | |
| get_filename_component(variableName ${file} NAME_WE) | |
| file(READ ${file} hexString HEX) | |
| set(hexString "${hexString}00") | |
| string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," arrayValues ${hexString}) | |
| string(REGEX REPLACE ",$" "" arrayValues ${arrayValues}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h | |
| "const char __data_${variableName}64_[] = {${arrayValues}};\n") | |
| endforeach() | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h | |
| "std::map<std::string, const char*> DATA = {\n") | |
| foreach(file ${BLAS_LL}) | |
| get_filename_component(variableName ${file} NAME_WE) | |
| # declares byte array and the length variables | |
| if(${NEED_COMMA}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h ",\n") | |
| endif() | |
| set(arrayDefinition "{ \"cblas_${variableName}\", __data_${variableName} }") | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h "${arrayDefinition}") | |
| set(NEED_COMMA TRUE) | |
| endforeach() | |
| foreach(file ${BLAS64_LL}) | |
| get_filename_component(variableName ${file} NAME_WE) | |
| # declares byte array and the length variables | |
| if(${NEED_COMMA}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h ",\n") | |
| endif() | |
| set(arrayDefinition | |
| "{ \"cblas_${variableName}64_\", __data_${variableName}64_ }") | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h "${arrayDefinition}") | |
| set(NEED_COMMA TRUE) | |
| endforeach() | |
| file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/blas_headers.h "\n};\n") | |
| file( | |
| READ "${CMAKE_CURRENT_SOURCE_DIR}/../fblas/src/fblas/bclib32.ll" hexString | |
| HEX) | |
| set(hexString "${hexString}00") | |
| string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," arrayValues ${hexString}) | |
| string(REGEX REPLACE ",$" "" arrayValues ${arrayValues}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h | |
| "const char __data_fblas32[] = {${arrayValues}};\n") | |
| file( | |
| READ "${CMAKE_CURRENT_SOURCE_DIR}/../fblas/src/fblas/bclib64.ll" hexString | |
| HEX) | |
| set(hexString "${hexString}00") | |
| string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," arrayValues ${hexString}) | |
| string(REGEX REPLACE ",$" "" arrayValues ${arrayValues}) | |
| file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/blas_headers.h | |
| "const char __data_fblas64[] = {${arrayValues}};\n") | |