Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure Travis to treat warnings as errors #682

Merged
merged 5 commits into from
Apr 24, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ compiler:
- clang

env:
- BUILD_TYPE=Debug COVERALLS=ON
- BUILD_TYPE=Release COVERALLS=OFF
- BUILD_TYPE=Debug TREAT_WARNINGS_AS_ERRORS=ON COVERALLS=ON
- BUILD_TYPE=Release TREAT_WARNINGS_AS_ERRORS=ON COVERALLS=OFF

matrix:
exclude:
Expand All @@ -27,7 +27,7 @@ install:

script:
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DDART_COVERALLS=$COVERALLS ..
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DDART_TREAT_WARNINGS_AS_ERRORS=$TREAT_WARNINGS_AS_ERRORS -DDART_COVERALLS=$COVERALLS ..
- make -j4 all tutorials examples tests test
- if [ $COVERALLS = ON ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then make -j4 coveralls; fi

Expand Down
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ endif()
option(DART_BUILD_GUI_OSG "Build osgDart library" ON)
option(DART_COVERALLS "Turn on coveralls support" OFF)
option(DART_COVERALLS_UPLOAD "Upload the generated coveralls json" ON)
option(DART_TREAT_WARNINGS_AS_ERRORS "Treat warnings as errors" OFF)

if(DART_COVERALLS)
include(Coveralls)
Expand Down Expand Up @@ -141,13 +142,19 @@ if(MSVC)
if(MSVC_VERSION VERSION_LESS 1900)
message(FATAL_ERROR "${PROJECT_NAME} requires VS 2015 or greater.")
endif()
if(DART_TREAT_WARNINGS_AS_ERRORS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP4")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /INCREMENTAL:NO")
if(NOT DART_MSVC_DEFAULT_OPTIONS)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DART_RUNTIME_LIBRARY}d /Zi /Gy /W1 /EHsc")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${DART_RUNTIME_LIBRARY} /Zi /GL /Gy /W1 /EHsc /arch:SSE2")
endif(NOT DART_MSVC_DEFAULT_OPTIONS)
elseif(CMAKE_COMPILER_IS_GNUCXX)
if(DART_TREAT_WARNINGS_AS_ERRORS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -msse2 -fPIC")
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
Expand All @@ -162,6 +169,11 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_DEBUG}")
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_DEBUG} -pg")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if(DART_TREAT_WARNINGS_AS_ERRORS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=deprecated-declarations")
# Turn warning "deprecated-declarations" into an warning even if -Werror is
# specified until we abandon glut.
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -fPIC")
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION)
Expand Down
2 changes: 1 addition & 1 deletion dart/gui/OpenGLRenderInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ class OpenGLRenderInterface : public RenderInterface {
void drawCube(const Eigen::Vector3d& _size) override;
void drawCylinder(double _radius, double _height) override;
void drawMesh(const Eigen::Vector3d& _scale, const aiScene* _mesh) override;
void drawSoftMesh(const aiMesh* mesh);
void drawSoftMesh(const aiMesh* mesh) override;
void drawList(GLuint index) override;
void drawLineSegments(const std::vector<Eigen::Vector3d>& _vertices,
const Eigen::aligned_vector<Eigen::Vector2i>& _connections) override;
Expand Down
10 changes: 5 additions & 5 deletions dart/gui/osg/TrackballManipulator.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ namespace gui {
namespace osg {

#define DART_META_Object(library,name) \
virtual ::osg::Object* cloneType() const { return new name (); } \
virtual ::osg::Object* clone(const ::osg::CopyOp& copyop) const { return new name (*this,copyop); } \
virtual bool isSameKindAs(const ::osg::Object* obj) const { return dynamic_cast<const name *>(obj)!=NULL; } \
virtual const char* libraryName() const { return #library; }\
virtual const char* className() const { return #name; }
::osg::Object* cloneType() const override { return new name (); } \
::osg::Object* clone(const ::osg::CopyOp& copyop) const override { return new name (*this,copyop); } \
bool isSameKindAs(const ::osg::Object* obj) const override { return dynamic_cast<const name *>(obj)!=NULL; } \
const char* libraryName() const override { return #library; }\
const char* className() const override { return #name; }
// TODO(JS): Copied from osg/Object. Due to the namespace conflict between osg
// and dart::gui::osg, we need to explicitly specify the root namespace osg as
// ::osg
Expand Down