# /**************************************************************************** # * # * Copyright (c) 2001 Novell, Inc. All Rights Reserved. # * # * This program is free software; you can redistribute it and/or # * modify it under the terms of version 2 of the GNU General Public License # * as published by the Free Software Foundation. # * # * This program is distributed in the hope that it will be useful, # * but WITHOUT ANY WARRANTY; without even the implied warranty of # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # * GNU General Public License for more details. # * # * You should have received a copy of the GNU General Public License # * along with this program; if not, contact Novell, Inc. # * # * To contact Novell about this file by physical or electronic mail, you # * may find current contact information at www.novell.com. # * # ****************************************************************************/ if(NOT DEFINED INPUT OR NOT DEFINED OUTPUT OR NOT DEFINED SYMBOL) message(FATAL_ERROR "EmbedFile.cmake requires INPUT, OUTPUT and SYMBOL") endif() file(READ "${INPUT}" content HEX) string(REGEX MATCHALL ".." bytes "${content}") set(source "unsigned char ${SYMBOL}[] = {\n") set(column 0) foreach(byte IN LISTS bytes) string(APPEND source "0x${byte},") math(EXPR column "${column} + 1") if(column EQUAL 16) string(APPEND source "\n") set(column 0) endif() endforeach() string(APPEND source "0x00\n};\n") file(WRITE "${OUTPUT}" "${source}")