2
0
Ficheiros
rocm-systems/source/scripts/patch-parser.cmake
T

29 linhas
1.2 KiB
CMake
Em bruto Vista normal Histórico

2023-10-16 13:41:40 -07:00
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
foreach(BINARY_OUTPUT ${BINARY_DIR}/parser.h ${BINARY_DIR}/parser.cpp
${BINARY_DIR}/scanner.cpp)
string(REPLACE "${BINARY_DIR}" "${SOURCE_DIR}" SOURCE_OUTPUT "${BINARY_OUTPUT}")
foreach(VAR PROJECT_SRC_DIR PROJECT_BLD_DIR)
string(REPLACE "/" "_" ${VAR} "${${VAR}}")
string(REPLACE "-" "_" ${VAR} "${${VAR}}")
string(REPLACE "+" "" ${VAR} "${${VAR}}")
string(TOUPPER "${${VAR}}" ${VAR})
endforeach()
# remove absolute path from file
if(NOT SOURCE_OUTPUT STREQUAL BINARY_OUTPUT)
file(READ ${BINARY_OUTPUT} OUTPUT_DATA)
string(REPLACE "${SOURCE_DIR}/" "" OUTPUT_DATA "${OUTPUT_DATA}")
string(REPLACE "${BINARY_DIR}/" "" OUTPUT_DATA "${OUTPUT_DATA}")
string(REPLACE "${PROJECT_BLD_DIR}" "_ROCPROFILER" OUTPUT_DATA "${OUTPUT_DATA}")
string(REPLACE "${PROJECT_SRC_DIR}" "_ROCPROFILER" OUTPUT_DATA "${OUTPUT_DATA}")
file(WRITE ${BINARY_OUTPUT} "${OUTPUT_DATA}")
if(FORMAT_EXE)
execute_process(COMMAND ${FORMAT_EXE} -i ${BINARY_OUTPUT})
endif()
configure_file(${BINARY_OUTPUT} ${SOURCE_OUTPUT} COPYONLY)
endif()
endforeach()