)
add_custom_command(OUTPUT HTMLForestResources.inc
- COMMAND "${Python3_EXECUTABLE}" bundle_resources.py
+ COMMAND "${Python3_EXECUTABLE}" ${CLANG_SOURCE_DIR}/utils/bundle_resources.py
${CMAKE_CURRENT_BINARY_DIR}/HTMLForestResources.inc
HTMLForest.css HTMLForest.js HTMLForest.html
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Bundling HTMLForest resources"
- DEPENDS bundle_resources.py HTMLForest.css HTMLForest.js HTMLForest.html
+ DEPENDS ${CLANG_SOURCE_DIR}/utils/bundle_resources.py HTMLForest.css HTMLForest.js HTMLForest.html
VERBATIM)
add_custom_target(clang-pseudo-resources DEPENDS HTMLForestResources.inc)
add_dependencies(clang-pseudo clang-pseudo-resources)
+++ /dev/null
-#!/usr/bin/env python3
-# Simple bundler of files into string constants.
-#
-# Usage: bundle_resources.py foo.inc a.js path/b.css ...
-# Produces foo.inc containing:
-# const char a_js[] = "...";
-# const char b_css[] = "...";
-import os
-import sys
-
-outfile = sys.argv[1]
-infiles = sys.argv[2:]
-
-with open(outfile, 'w') as out:
- for filename in infiles:
- varname = os.path.basename(filename).replace('.', '_')
- out.write("const char " + varname + "[] = \n");
- # MSVC limits each chunk of string to 2k.
- # Not quite enough for the JS file, so split by lines.
- # The overall limit is 64k, which ought to be enough for anyone.
- for line in open(filename).read().split('\n'):
- out.write(' R"x(' + line + ')x" "\\n"\n' )
- out.write(' ;\n');