aboutsummaryrefslogtreecommitdiff
path: root/src/blocks
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2021-08-26 21:10:56 -0400
committerluigi1111 <luigi1111w@gmail.com>2021-08-26 21:10:56 -0400
commitd98787eb1ba9363bb0eeb73107626ea38bc0e552 (patch)
treec28f009f5f35d773002a62dc9698acd5544ad8b7 /src/blocks
parentMerge pull request #7822 (diff)
parentcmake: test is a reserved keyword (diff)
downloadmonero-d98787eb1ba9363bb0eeb73107626ea38bc0e552.tar.xz
Merge pull request #7825
ccfed60 cmake: test is a reserved keyword (selsta) f0fa959 cmake: fix ccache detection (anon) 8dbe2e5 Daemon: Update average block size table (rbrunner7) 94bad34 wallet2: Don't auto lock device on process parsed blocks (tobtoht) 3c23aca ledger: don't lock for software device (tobtoht) 49beb8d ledger: use software device if we have view key (tobtoht) d188b5f wallet_api: getPassword (tobtoht) a395f36 depends, docker: fix bintray links (selsta) 0fecd7e blocks: fix cmake syntax (selsta) 76824bf Stop adding more outputs than bulletproof allows (Alex Opie) 67ba733 unit_tests: fix wipeable_string parse_hexstr test with latest gtest (xiphon) 402ba04 cmake: use CMAKE_CURRENT_LIST_DIR in FindLibUSB (selsta) 1565bcb epee: include public openssl header in cmake (selsta) 2e9af2a cmake: treat warnings as error in compiler flag tests (selsta) db564ef wallet_api: fix typo in exportKeyImages (selsta) 8507917 depends: add getmonero package mirror (selsta) 8716d2a cmake: fix non portable code (selsta)
Diffstat (limited to 'src/blocks')
-rw-r--r--src/blocks/CMakeLists.txt30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/blocks/CMakeLists.txt b/src/blocks/CMakeLists.txt
index 051c60886..5eebaaa03 100644
--- a/src/blocks/CMakeLists.txt
+++ b/src/blocks/CMakeLists.txt
@@ -28,20 +28,32 @@
set(GENERATED_SOURCES "")
+set(GENERATOR "${CMAKE_CURRENT_BINARY_DIR}/blocks_generator.cmake")
+file(GENERATE OUTPUT ${GENERATOR} CONTENT [=[
+file(READ "${INPUT_DAT_FILE}" DATA HEX)
+string(REGEX REPLACE "[0-9a-fA-F][0-9a-fA-F]" "0x\\0," DATA "${DATA}")
+file(WRITE "${OUTPUT_C_SOURCE}" "
+#include <stddef.h>
+const unsigned char ${BLOB_NAME}[]={
+ ${DATA}
+};
+const size_t ${BLOB_NAME}_len = sizeof(${BLOB_NAME});
+"
+)
+]=])
foreach(BLOB_NAME checkpoints testnet_blocks stagenet_blocks)
set(OUTPUT_C_SOURCE "generated_${BLOB_NAME}.c")
list(APPEND GENERATED_SOURCES ${OUTPUT_C_SOURCE})
set(INPUT_DAT_FILE "${BLOB_NAME}.dat")
add_custom_command(
- OUTPUT ${OUTPUT_C_SOURCE}
- MAIN_DEPENDENCY ${INPUT_DAT_FILE}
- COMMAND
- cd ${CMAKE_CURRENT_BINARY_DIR} &&
- echo "'#include\t<stddef.h>'" > ${OUTPUT_C_SOURCE} &&
- echo "'const\tunsigned\tchar\t${BLOB_NAME}[]={'" >> ${OUTPUT_C_SOURCE} &&
- od -v -An -tx1 ${CMAKE_CURRENT_SOURCE_DIR}/${INPUT_DAT_FILE} | sed -e "'s/[0-9a-fA-F]\\{1,\\}/0x&,/g'" -e "'$$s/.$$//'" >> ${OUTPUT_C_SOURCE} &&
- echo "'};'" >> ${OUTPUT_C_SOURCE} &&
- echo "'const\tsize_t\t${BLOB_NAME}_len\t=\tsizeof(${BLOB_NAME});'" >> ${OUTPUT_C_SOURCE}
+ OUTPUT ${OUTPUT_C_SOURCE}
+ MAIN_DEPENDENCY ${INPUT_DAT_FILE}
+ DEPENDS ${GENERATOR}
+ COMMAND ${CMAKE_COMMAND}
+ "-DINPUT_DAT_FILE=${CMAKE_CURRENT_SOURCE_DIR}/${INPUT_DAT_FILE}"
+ "-DBLOB_NAME=${BLOB_NAME}"
+ "-DOUTPUT_C_SOURCE=${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_C_SOURCE}"
+ -P "${GENERATOR}"
)
endforeach()