diff --git a/cmake/Modules/GenerateBinaryHeader.cmake b/cmake/Modules/GenerateBinaryHeader.cmake index 512f69e09d..498a4f68f5 100644 --- a/cmake/Modules/GenerateBinaryHeader.cmake +++ b/cmake/Modules/GenerateBinaryHeader.cmake @@ -1,3 +1,3 @@ # utility script to call GenerateBinaryHeader function include(${SOURCE_DIR}/Modules/LAMMPSUtils.cmake) -GenerateBinaryHeader(${VARNAME} ${HEADER_FILE} ${SOURCE_FILES}) +GenerateBinaryHeader(${VARNAME} ${HEADER_FILE} ${SOURCE_FILE}) diff --git a/cmake/Modules/LAMMPSUtils.cmake b/cmake/Modules/LAMMPSUtils.cmake index a87c0f567c..339ba867bd 100644 --- a/cmake/Modules/LAMMPSUtils.cmake +++ b/cmake/Modules/LAMMPSUtils.cmake @@ -71,19 +71,15 @@ macro(pkg_depends PKG1 PKG2) endmacro() # CMake-only replacement for bin2c and xxd -function(GenerateBinaryHeader varname outfile files) +function(GenerateBinaryHeader varname outfile infile) message("Creating ${outfile}...") file(WRITE ${outfile} "// CMake generated file\n") - math(EXPR ARG_END "${ARGC}-1") - foreach(IDX RANGE 2 ${ARG_END}) - list(GET ARGV ${IDX} filename) - file(READ ${filename} content HEX) - string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," content "${content}") - string(REGEX REPLACE ",$" "" content "${content}") - file(APPEND ${outfile} "const unsigned char ${varname}[] = { ${content} };\n") - file(APPEND ${outfile} "const unsigned int ${varname}_size = sizeof(${varname});\n") - endforeach() + file(READ ${infile} content HEX) + string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," content "${content}") + string(REGEX REPLACE ",$" "" content "${content}") + file(APPEND ${outfile} "const unsigned char ${varname}[] = { ${content} };\n") + file(APPEND ${outfile} "const unsigned int ${varname}_size = sizeof(${varname});\n") endfunction(GenerateBinaryHeader) # fetch missing potential files diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index ac2c975da3..cad6e2bf9a 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -309,7 +309,7 @@ elseif(GPU_API STREQUAL "HIP") endif() add_custom_command(OUTPUT ${CUBIN_H_FILE} - COMMAND ${CMAKE_COMMAND} -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D VARNAME=${CU_NAME} -D HEADER_FILE=${CUBIN_H_FILE} -D SOURCE_FILES=${CUBIN_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/GenerateBinaryHeader.cmake + COMMAND ${CMAKE_COMMAND} -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D VARNAME=${CU_NAME} -D HEADER_FILE=${CUBIN_H_FILE} -D SOURCE_FILE=${CUBIN_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/GenerateBinaryHeader.cmake DEPENDS ${CUBIN_FILE} COMMENT "Generating ${CU_NAME}_cubin.h")