aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt7
-rw-r--r--cmake/templates/license.h.in4
2 files changed, 9 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2dbc521d..d6ed6643 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,12 @@ include(EthExecutableHelper)
include(EthUtils)
# Create license.h from LICENSE.txt and template
-file(READ ${CMAKE_SOURCE_DIR}/LICENSE.txt LICENSE_TEXT)
+# Converting to char array is required due to MSVC's string size limit.
+file(READ ${CMAKE_SOURCE_DIR}/LICENSE.txt LICENSE_TEXT HEX)
+string(REGEX MATCHALL ".." LICENSE_TEXT "${LICENSE_TEXT}")
+string(REGEX REPLACE ";" ",\n\t0x" LICENSE_TEXT "${LICENSE_TEXT}")
+set(LICENSE_TEXT "0x${LICENSE_TEXT}")
+
configure_file("${CMAKE_SOURCE_DIR}/cmake/templates/license.h.in" "license.h")
include(EthOptions)
diff --git a/cmake/templates/license.h.in b/cmake/templates/license.h.in
index 48801347..ccc61c99 100644
--- a/cmake/templates/license.h.in
+++ b/cmake/templates/license.h.in
@@ -1,3 +1,5 @@
#pragma once
-static char const* licenseText = R"(@LICENSE_TEXT@)";
+static char const licenseText[] = {
+ @LICENSE_TEXT@
+};