mirror of
https://github.com/pantor/inja.git
synced 2026-04-28 18:29:25 +00:00
add warnings for clang and fix them
This commit is contained in:
@@ -12,30 +12,28 @@ option(INJA_BUILD_TESTS "Build unit tests when BUILD_TESTING is enabled." ON)
|
||||
option(BUILD_BENCHMARK "Build benchmark" ON)
|
||||
option(COVERALLS "Generate coveralls data" OFF)
|
||||
|
||||
set(INJA_INSTALL_INCLUDE_DIR "include")
|
||||
|
||||
set(INJA_INSTALL_INCLUDE_DIR "include")
|
||||
set(INJA_PACKAGE_USE_EMBEDDED_JSON OFF)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
add_compile_options(-Wall)
|
||||
endif()
|
||||
|
||||
# For using the correct __cplusplus macro
|
||||
if(MSVC)
|
||||
add_compile_options(/W4 /permissive- /utf-8 /Zc:__cplusplus)
|
||||
add_compile_options(/utf-8 /Zc:__cplusplus)
|
||||
endif()
|
||||
|
||||
|
||||
add_library(inja INTERFACE)
|
||||
add_library(pantor::inja ALIAS inja)
|
||||
|
||||
|
||||
target_include_directories(inja INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:${INJA_INSTALL_INCLUDE_DIR}>
|
||||
)
|
||||
|
||||
target_compile_features(inja INTERFACE cxx_std_11)
|
||||
|
||||
set(INJA_PACKAGE_USE_EMBEDDED_JSON OFF)
|
||||
|
||||
if(INJA_USE_EMBEDDED_JSON)
|
||||
find_package(nlohmann_json QUIET)
|
||||
@@ -67,10 +65,11 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
target_link_libraries(inja INTERFACE ${INJA_SELECTED_JSON_LIBRARY})
|
||||
|
||||
|
||||
execute_process(COMMAND scripts/update_single_include.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||
# CMake: add_custom_command
|
||||
|
||||
|
||||
if(BUILD_TESTING AND INJA_BUILD_TESTS)
|
||||
@@ -78,9 +77,14 @@ if(BUILD_TESTING AND INJA_BUILD_TESTS)
|
||||
|
||||
add_executable(inja_test test/test.cpp)
|
||||
target_link_libraries(inja_test PRIVATE inja)
|
||||
|
||||
add_test(inja_test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/inja_test)
|
||||
|
||||
if(MSVC)
|
||||
target_compile_options(inja_test PRIVATE /W4 /WX /permissive-)
|
||||
else()
|
||||
target_compile_options(inja_test PRIVATE -Wall -Wextra -pedantic -Werror)
|
||||
endif()
|
||||
|
||||
|
||||
add_library(single_inja INTERFACE)
|
||||
target_compile_features(single_inja INTERFACE cxx_std_11)
|
||||
|
||||
@@ -352,7 +352,7 @@ public:
|
||||
BlockNode block;
|
||||
BlockNode *const parent;
|
||||
|
||||
explicit BlockStatementNode(BlockNode *const parent, const std::string& name, size_t pos) : StatementNode(pos), parent(parent), name(name) { }
|
||||
explicit BlockStatementNode(BlockNode *const parent, const std::string& name, size_t pos) : StatementNode(pos), name(name), parent(parent) { }
|
||||
|
||||
void accept(NodeVisitor& v) const {
|
||||
v.visit(*this);
|
||||
|
||||
@@ -81,7 +81,7 @@ class Parser {
|
||||
auto function = operator_stack.top();
|
||||
operator_stack.pop();
|
||||
|
||||
for (size_t i = 0; i < function->number_args; ++i) {
|
||||
for (int i = 0; i < function->number_args; ++i) {
|
||||
function->arguments.insert(function->arguments.begin(), arguments.back());
|
||||
arguments.pop_back();
|
||||
}
|
||||
|
||||
@@ -2705,7 +2705,7 @@ public:
|
||||
BlockNode block;
|
||||
BlockNode *const parent;
|
||||
|
||||
explicit BlockStatementNode(BlockNode *const parent, const std::string& name, size_t pos) : StatementNode(pos), parent(parent), name(name) { }
|
||||
explicit BlockStatementNode(BlockNode *const parent, const std::string& name, size_t pos) : StatementNode(pos), name(name), parent(parent) { }
|
||||
|
||||
void accept(NodeVisitor& v) const {
|
||||
v.visit(*this);
|
||||
@@ -2916,7 +2916,7 @@ class Parser {
|
||||
auto function = operator_stack.top();
|
||||
operator_stack.pop();
|
||||
|
||||
for (size_t i = 0; i < function->number_args; ++i) {
|
||||
for (int i = 0; i < function->number_args; ++i) {
|
||||
function->arguments.insert(function->arguments.begin(), arguments.back());
|
||||
arguments.pop_back();
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ TEST_CASE("callbacks") {
|
||||
});
|
||||
|
||||
std::string greet = "Hello";
|
||||
env.add_callback("double-greetings", 0, [greet](inja::Arguments args) { return greet + " " + greet + "!"; });
|
||||
env.add_callback("double-greetings", 0, [greet](inja::Arguments) { return greet + " " + greet + "!"; });
|
||||
|
||||
env.add_callback("multiply", 2, [](inja::Arguments args) {
|
||||
double number1 = args.at(0)->get<double>();
|
||||
@@ -228,11 +228,11 @@ TEST_CASE("callbacks") {
|
||||
return number1.length();
|
||||
});
|
||||
|
||||
env.add_void_callback("log", 1, [](inja::Arguments args) {
|
||||
int a = 2;
|
||||
env.add_void_callback("log", 1, [](inja::Arguments) {
|
||||
|
||||
});
|
||||
|
||||
env.add_callback("multiply", 0, [](inja::Arguments args) { return 1.0; });
|
||||
env.add_callback("multiply", 0, [](inja::Arguments) { return 1.0; });
|
||||
|
||||
CHECK(env.render("{{ double(age) }}", data) == "56");
|
||||
CHECK(env.render("{{ half(age) }}", data) == "14");
|
||||
|
||||
Reference in New Issue
Block a user