blob: 282b2bdcd8bba72d90bbd8770fdf8fab5b876077 [file] [log] [blame]
From f9a3aa72c2bf15726bcdafd140fd21f790de555d Mon Sep 17 00:00:00 2001
From: Bartosz Golaszewski <brgl@bgdev.pl>
Date: Wed, 21 Jun 2017 14:32:25 +0200
Subject: [PATCH] build: fix the way lang_cfg.h is generated
This header is generated by running cmake/lang_cfg.cmake and
redirecting its stderr. If any warning is emitted by this script, it
ends up in the generated header and breaks the build.
To avoid such problems: pass the path to the header as an argument to
the cmake script and use the cmake 'file' command instead of 'message'.
We can't even use message(STATUS...) as - although it prints to stdout
as opposed to other types of messages - it prepends all output with
a double hyphen.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
cmake/lang_cfg.cmake | 10 +++++-----
src/CMakeLists.txt | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake
index c57d3ed..86c2d9a 100644
--- a/cmake/lang_cfg.cmake
+++ b/cmake/lang_cfg.cmake
@@ -1,10 +1,10 @@
-if(${CMAKE_ARGC} GREATER 1)
- if ("${CMAKE_ARGV3}" STREQUAL "ENONLY")
- message("#define ENGLISH_ONLY")
+if(${CMAKE_ARGC} GREATER 2)
+ if ("${CMAKE_ARGV4}" STREQUAL "ENONLY")
+ file(APPEND ${CMAKE_ARGV3} " #define ENGLISH_ONLY")
else()
math(EXPR UPTO ${CMAKE_ARGC}-1)
- foreach(i RANGE 3 ${UPTO})
- message("#define LANG_${CMAKE_ARGV${i}}")
+ foreach(i RANGE 4 ${UPTO})
+ file(APPEND ${CMAKE_ARGV3} " #define LANG_${CMAKE_ARGV${i}}")
endforeach()
endif()
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 08c8439..dcf4ef8 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -73,7 +73,7 @@ set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1)
# lang_cfg.h
add_custom_command(
COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h"
- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${LANG_CODES} 2> ${GENERATED_SRC}/lang_cfg.h
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES}
DEPENDS ${LANGUAGE_FILES}
OUTPUT ${GENERATED_SRC}/lang_cfg.h
)
--
2.9.3