diff --git a/.appveyor.yml b/.appveyor.yml index 5dd1c2d7..ef3c5c3e 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -5,7 +5,7 @@ environment: E2D_WITHOUT_GRAPHICS: true image: - Visual Studio 2017 - - Visual Studio 2019 Preview + - Visual Studio 2019 platform: - Win32 - x64 diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index c44205a6..ff26c8b8 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -19,6 +19,14 @@ function(add_e2d_sample NAME) target_link_libraries(${SAMPLE_NAME} enduro2d) set_target_properties(${SAMPLE_NAME} PROPERTIES FOLDER samples) + target_compile_options(${SAMPLE_NAME} + PRIVATE + $<$: + /W3 /MP /bigobj> + PRIVATE + $<$,$,$>: + -Wall -Wextra -Wpedantic>) + # # resources # diff --git a/scripts/gen_msvc2019_project.bat b/scripts/gen_msvc2019_project.bat new file mode 100644 index 00000000..8991dea5 --- /dev/null +++ b/scripts/gen_msvc2019_project.bat @@ -0,0 +1,12 @@ +@echo off +set BUILD_DIR=%~dp0%\..\build +mkdir %BUILD_DIR%\msvc2019 || goto :error +cd %BUILD_DIR%\msvc2019 || goto :error +cmake -G "Visual Studio 16 2019" ..\.. || goto :error +start enduro2d.sln || goto :error + +goto :EOF + +:error +echo Failed with error #%errorlevel%. +exit /b %errorlevel% diff --git a/sources/enduro2d/core/render_impl/render_opengl_base.cpp b/sources/enduro2d/core/render_impl/render_opengl_base.cpp index 33001bf9..e7889380 100644 --- a/sources/enduro2d/core/render_impl/render_opengl_base.cpp +++ b/sources/enduro2d/core/render_impl/render_opengl_base.cpp @@ -78,24 +78,6 @@ namespace return success == GL_TRUE; } - bool process_program_validation_result(debug& debug, GLuint program) noexcept { - E2D_ASSERT(glIsProgram(program)); - GL_CHECK_CODE(debug, glValidateProgram(program)); - GLint success = GL_FALSE; - GL_CHECK_CODE(debug, glGetProgramiv(program, GL_VALIDATE_STATUS, &success)); - GLint log_len = 0; - GL_CHECK_CODE(debug, glGetProgramiv(program, GL_INFO_LOG_LENGTH, &log_len)); - if ( log_len > 0 ) { - GLchar* log_buffer = static_cast(E2D_ALLOCA( - sizeof(GLchar) * math::numeric_cast(log_len))); - GL_CHECK_CODE(debug, glGetProgramInfoLog( - program, log_len, nullptr, log_buffer)); - debug.log(success ? debug::level::warning : debug::level::error, - "RENDER: program validation info:\n--> %0", log_buffer); - } - return success == GL_TRUE; - } - template < typename... Ext > bool gl_has_any_extension(debug& debug, Ext... required) noexcept { const GLubyte* all_extensions = nullptr; diff --git a/sources/enduro2d/core/render_impl/render_opengl_impl.cpp b/sources/enduro2d/core/render_impl/render_opengl_impl.cpp index d6f0acd7..73b80778 100644 --- a/sources/enduro2d/core/render_impl/render_opengl_impl.cpp +++ b/sources/enduro2d/core/render_impl/render_opengl_impl.cpp @@ -51,7 +51,7 @@ namespace } } - void debug_output_callback( + void GLAPIENTRY debug_output_callback( GLenum source, GLenum type, GLuint id, diff --git a/sources/enduro2d/high/systems/label_system.cpp b/sources/enduro2d/high/systems/label_system.cpp index a0276ed1..2be21be9 100644 --- a/sources/enduro2d/high/systems/label_system.cpp +++ b/sources/enduro2d/high/systems/label_system.cpp @@ -26,7 +26,7 @@ namespace const b2f& texrect, const color32& color) { - const std::size_t start_vertex = vertices_.size(); + const u32 start_vertex = math::numeric_cast(vertices_.size()); // Y // ^ diff --git a/untests/CMakeLists.txt b/untests/CMakeLists.txt index 751707d9..31c07061 100644 --- a/untests/CMakeLists.txt +++ b/untests/CMakeLists.txt @@ -19,6 +19,14 @@ function(add_e2d_tests NAME) target_link_libraries(${TESTS_NAME} enduro2d) set_target_properties(${TESTS_NAME} PROPERTIES FOLDER untests) + target_compile_options(${TESTS_NAME} + PRIVATE + $<$: + /W3 /MP /bigobj> + PRIVATE + $<$,$,$>: + -Wall -Wextra -Wpedantic>) + # # resources # @@ -36,28 +44,8 @@ function(add_e2d_tests NAME) add_test(${TESTS_NAME} ${TESTS_NAME}) endfunction(add_e2d_tests) -option(E2D_BUILD_BASE_UNTESTS "Build base untests" ON) -option(E2D_BUILD_CORE_UNTESTS "Build core untests" ON) -option(E2D_BUILD_HIGH_UNTESTS "Build high untests" ON) -option(E2D_BUILD_MATH_UNTESTS "Build math untests" ON) -option(E2D_BUILD_UTILS_UNTESTS "Build utils untests" ON) - -if(E2D_BUILD_BASE_UNTESTS) - add_e2d_tests(base) -endif() - -if(E2D_BUILD_CORE_UNTESTS) - add_e2d_tests(core) -endif() - -if(E2D_BUILD_HIGH_UNTESTS) - add_e2d_tests(high) -endif() - -if(E2D_BUILD_MATH_UNTESTS) - add_e2d_tests(math) -endif() - -if(E2D_BUILD_UTILS_UNTESTS) - add_e2d_tests(utils) -endif() +add_e2d_tests(base) +add_e2d_tests(core) +add_e2d_tests(high) +add_e2d_tests(math) +add_e2d_tests(utils) diff --git a/untests/sources/untests_utils/strings.cpp b/untests/sources/untests_utils/strings.cpp index b8be3a53..cb32ff23 100644 --- a/untests/sources/untests_utils/strings.cpp +++ b/untests/sources/untests_utils/strings.cpp @@ -212,9 +212,9 @@ TEST_CASE("strings") { REQUIRE(wildcard_match( // 你好你好你好你好世界世界世界世界世界世界世界世界彡ಠ - mark_string("\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u5F61\u0CA0"), + mark_string(u8"\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u4E16\u754C\u5F61\u0CA0"), // 你好你好你好你好*世界世界彡*ಠ - mark_pattern("\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4F60\u597D*\u4E16\u754C\u4E16\u754C\u5F61*\u0CA0")) == true); + mark_pattern(u8"\u4F60\u597D\u4F60\u597D\u4F60\u597D\u4F60\u597D*\u4E16\u754C\u4E16\u754C\u5F61*\u0CA0")) == true); REQUIRE(wildcard_match("", "") == true); REQUIRE(wildcard_match("a", "") == false);