diff --git a/CMakeLists.txt b/CMakeLists.txt
index e085f13..c23eae8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
# $Id: CMakeLists.txt 14280 2009-10-16 13:48:46Z loose $
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.12)
project(LofarStMan VERSION 1.0.2)
@@ -9,7 +9,18 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR})
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")
+add_compile_options(
+ -O3
+ -Wall
+ -Wnon-virtual-dtor
+ -Wzero-as-null-pointer-constant
+ -Wduplicated-branches
+ -Wundef
+ -Wvla
+ -Wpointer-arith
+ -Wextra
+ -Wno-unused-parameter
+ -Wno-psabi)
if(PORTABLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
diff --git a/include/LofarStMan/LofarColumn.h b/include/LofarStMan/LofarColumn.h
index 024890a..61bf08b 100644
--- a/include/LofarStMan/LofarColumn.h
+++ b/include/LofarStMan/LofarColumn.h
@@ -64,11 +64,11 @@ class LofarColumn : public casacore::StManColumn
: StManColumn (dtype),
itsParent (parent)
{}
- virtual ~LofarColumn();
+ ~LofarColumn() override;
// Most columns are not writable (only DATA is writable).
- virtual casacore::Bool isWritable() const;
+ bool isWritable() const override;
// Set column shape of fixed shape columns; it does nothing.
- virtual void setShapeColumn (const casacore::IPosition& shape);
+ void setShapeColumn (const casacore::IPosition& shape) final override;
// Prepare the column. By default it does nothing.
virtual void prepareCol();
protected:
@@ -77,50 +77,50 @@ class LofarColumn : public casacore::StManColumn
// ANTENNA1 column in the LOFAR Storage Manager.
//