MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 .

LTO-timing^2
Project579 3 years ago
parent 9e59a7e271
commit 02ef9c953e

@ -376,7 +376,7 @@ macOS12_Xcode13:
- $env:CCACHE_BASEDIR = Get-Location
- $env:CCACHE_DIR = "$(Get-Location)\ccache"
- New-Item -Type Directory -Force -Path $env:CCACHE_DIR
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t -C $multiview
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t -C $multiview -E
- cd MSVC2019_64_Ninja
- .\ActivateMSVC.ps1
- cmake --build . --config $config
@ -439,8 +439,7 @@ macOS12_Xcode13:
- .Windows_Ninja_Base
variables:
config: "RelWithDebInfo"
# Gitlab can't successfully execute following binaries due to unknown reason
# executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"
executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"
.Windows_MSBuild_Base:
tags:
@ -538,7 +537,6 @@ Windows_MSBuild_RelWithDebInfo:
- .Windows_MSBuild_Base
variables:
config: "RelWithDebInfo"
# Gitlab can't successfully execute following binaries due to unknown reason
executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"
# temporarily enabled while we're linking these on the downloads page
rules:

@ -855,25 +855,17 @@ printf "${OSG_ARCHIVE_NAME}... "
cd $DEPS
echo
# Qt
if [ -z $APPVEYOR ]; then
printf "Qt 5.15.0... "
else
printf "Qt 5.13 AppVeyor... "
fi
printf "Qt 5.15.2... "
{
if [ $BITS -eq 64 ]; then
SUFFIX="_64"
else
SUFFIX=""
fi
if [ -z $APPVEYOR ]; then
cd $DEPS_INSTALL
qt_version="5.15.0"
if [ "win${BITS}_msvc${MSVC_REAL_YEAR}${SUFFIX}" == "win64_msvc2017_64" ]; then
echo "This combination of options is known not to work. Falling back to Qt 5.14.2."
qt_version="5.14.2"
fi
qt_version="5.15.2"
QT_SDK="$(real_pwd)/Qt/${qt_version}/msvc${MSVC_REAL_YEAR}${SUFFIX}"
@ -934,29 +926,6 @@ fi
add_qt_style_dlls $CONFIGURATION "$(pwd)/plugins/styles/qwindowsvistastyle${DLLSUFFIX}.dll"
done
echo Done.
else
# default to msvc2019 which pre-loads Qt 5.15.2
qt_version="5.15.2"
if [ "msvc${MSVC_REAL_YEAR}" == "msvc2017" ]; then
qt_version="5.13"
fi
QT_SDK="C:/Qt/${qt_version}/msvc${MSVC_REAL_YEAR}${SUFFIX}"
add_cmake_opts -DQT_QMAKE_EXECUTABLE="${QT_SDK}/bin/qmake.exe" \
-DCMAKE_PREFIX_PATH="$QT_SDK"
for CONFIGURATION in ${CONFIGURATIONS[@]}; do
if [ $CONFIGURATION == "Debug" ]; then
DLLSUFFIX="d"
else
DLLSUFFIX=""
fi
DIR=$(windowsPathAsUnix "${QT_SDK}")
add_runtime_dlls $CONFIGURATION "${DIR}/bin/Qt5"{Core,Gui,Network,OpenGL,Widgets}${DLLSUFFIX}.dll
add_qt_platform_dlls $CONFIGURATION "${DIR}/plugins/platforms/qwindows${DLLSUFFIX}.dll"
add_qt_style_dlls $CONFIGURATION "${DIR}/plugins/styles/qwindowsvistastyle${DLLSUFFIX}.dll"
done
echo Done.
fi
}
cd $DEPS
echo

@ -690,7 +690,7 @@ if (WIN32)
# Play a bit with the warning levels
set(WARNINGS /W4)
set(WARNINGS "/W4")
set(WARNINGS_DISABLE
4100 # Unreferenced formal parameter (-Wunused-parameter)
@ -712,11 +712,11 @@ if (WIN32)
endif()
foreach(d ${WARNINGS_DISABLE})
list(APPEND WARNINGS /wd${d})
set(WARNINGS "${WARNINGS} /wd${d}")
endforeach(d)
if(OPENMW_MSVC_WERROR)
list(APPEND WARNINGS /WX)
set(WARNINGS "${WARNINGS} /WX")
endif()
set_target_properties(components PROPERTIES COMPILE_FLAGS "${WARNINGS}")
@ -771,7 +771,8 @@ if (WIN32)
endif()
if (BUILD_BULLETOBJECTTOOL)
set_target_properties(openmw-bulletobjecttool PROPERTIES COMPILE_FLAGS "${WARNINGS} ${MT_BUILD}")
set(WARNINGS "${WARNINGS} ${MT_BUILD}")
set_target_properties(openmw-bulletobjecttool PROPERTIES COMPILE_FLAGS "${WARNINGS}")
endif()
endif(MSVC)

@ -225,6 +225,14 @@ namespace NifOsg
std::vector<FloatInterpolator> mKeyFrames;
};
#ifdef _MSC_VER
#pragma warning( push )
/*
* Warning C4250: 'NifOsg::KeyframeController': inherits 'osg::Callback::osg::Callback::asCallback' via dominance,
* there is no way to solved this if an object must inherit from both osg::Object and osg::Callback
*/
#pragma warning( disable : 4250 )
#endif
class KeyframeController : public SceneUtil::KeyframeController, public SceneUtil::NodeCallback<KeyframeController, NifOsg::MatrixTransform*>
{
public:
@ -253,6 +261,9 @@ namespace NifOsg
osg::Quat getXYZRotation(float time) const;
};
#ifdef _MSC_VER
#pragma warning( pop )
#endif
class UVController : public SceneUtil::StateSetUpdater, public SceneUtil::Controller
{

@ -35,6 +35,14 @@ namespace SceneUtil
Resource::Animation* mAnimation;
};
#ifdef _MSC_VER
#pragma warning( push )
/*
* Warning C4250: 'SceneUtil::OsgAnimationController': inherits 'osg::Callback::osg::Callback::asCallback' via dominance,
* there is no way to solved this if an object must inherit from both osg::Object and osg::Callback
*/
#pragma warning( disable : 4250 )
#endif
class OsgAnimationController : public SceneUtil::KeyframeController, public SceneUtil::NodeCallback<OsgAnimationController>
{
public:
@ -68,6 +76,9 @@ namespace SceneUtil
std::vector<osg::ref_ptr<Resource::Animation>> mMergedAnimationTracks; // Used only by osgAnimation-based formats (e.g. dae)
std::vector<EmulatedAnimation> mEmulatedAnimations;
};
#ifdef _MSC_VER
#pragma warning( pop )
#endif
}
#endif

Loading…
Cancel
Save