From fd1d664cb3496f8543a0fbbc23b85279435c6262 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Thu, 10 Nov 2016 11:29:23 -0500 Subject: [PATCH 1/2] Explicitly require VS2015 or greater --- CMakeLists.txt | 2 ++ CMakeModules/CompilerSettings.cmake | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b7db766f1..363c78b0f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,7 @@ if(APPLE) cmake_minimum_required(VERSION 3.0.00) +elseif(MSVC) + cmake_minimum_required(VERSION 3.1.3) else() cmake_minimum_required(VERSION 2.8.12) endif() diff --git a/CMakeModules/CompilerSettings.cmake b/CMakeModules/CompilerSettings.cmake index 03689da97..ffff79885 100644 --- a/CMakeModules/CompilerSettings.cmake +++ b/CMakeModules/CompilerSettings.cmake @@ -27,12 +27,15 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") endif() # Visual Studio -if(MSVC OR MSVC90 OR MSVC10) +if(MSVC) + if(MSVC_VERSION VERSION_LESS 1900) + message(FATAL_ERROR "${PROJECT_NAME} requires Visual Studio 2015 or greater.") + endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /W1 /bigobj") if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(/WX) endif(FCL_TREAT_WARNINGS_AS_ERRORS) -endif(MSVC OR MSVC90 OR MSVC10) +endif() # Intel if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") From fb6e77e994daf91f6c72e242b10b3114f2aa4c46 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Thu, 10 Nov 2016 15:15:37 -0500 Subject: [PATCH 2/2] Use always endif() instead of endif(CONDITION) --- CMakeModules/CompilerSettings.cmake | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CMakeModules/CompilerSettings.cmake b/CMakeModules/CompilerSettings.cmake index ffff79885..24461769f 100644 --- a/CMakeModules/CompilerSettings.cmake +++ b/CMakeModules/CompilerSettings.cmake @@ -3,15 +3,15 @@ if(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-std=c++11 -W -Wall -g -Wextra -Wpedantic -Wno-missing-field-initializers -Wno-unused-parameter) if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(-Werror) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) -endif(CMAKE_COMPILER_IS_GNUCXX) + endif() +endif() # Clang if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") add_definitions(-std=c++11 -W -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-delete-non-virtual-dtor -Wno-overloaded-virtual -Wno-unknown-pragmas -Wno-deprecated-register) if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(-Werror) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) + endif() endif() # AppleClang @@ -23,7 +23,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") add_definitions(-std=c++11 -W -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-delete-non-virtual-dtor -Wno-overloaded-virtual -Wno-unknown-pragmas -Wno-deprecated-register) if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(-Werror) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) + endif() endif() # Visual Studio @@ -34,7 +34,7 @@ if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /W1 /bigobj") if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(/WX) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) + endif() endif() # Intel @@ -54,8 +54,8 @@ if(IS_ICPC) set(CMAKE_LINKER "xild" CACHE STRING "Intel linker" FORCE) if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(-Werror) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) -endif(IS_ICPC) + endif() +endif() # XL if(CMAKE_CXX_COMPILER_ID STREQUAL "XL") @@ -67,15 +67,15 @@ if(IS_XLC) add_definitions(-std=c++11 -qpic -q64 -qmaxmem=-1) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -q64") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -q64") -endif(IS_XLC) +endif() # MinGW if((CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) AND NOT MINGW) add_definitions(-fPIC) if(FCL_TREAT_WARNINGS_AS_ERRORS) add_definitions(-Werror) - endif(FCL_TREAT_WARNINGS_AS_ERRORS) -endif((CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) AND NOT MINGW) + endif() +endif() # Set rpath http://www.paraview.org/Wiki/CMake_RPATH_handling set(CMAKE_SKIP_BUILD_RPATH FALSE)