From fdbb8a5b2888b9e698d2a30c01422383d701236c Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Mon, 22 May 2017 14:05:34 +0200 Subject: [PATCH] Small fixes for MSVC support. --- CMakeLists.txt | 23 +++++++++++++---------- IntegralImage.h | 3 ++- ROIData.h | 1 + auxItk/AllEigenVectorsOfHessian.h | 2 +- slic/LKM.h | 2 ++ 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80b5ed3..bf8a627 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,21 +23,24 @@ else() endif() set(RANDOMLIB_INCPATH "${RANDOMLIB_DESTPATH}/include") - -externalproject_add( - randomlibBuild - GIT_REPOSITORY http://git.code.sf.net/p/randomlib/code - GIT_TAG "r1.6" - CMAKE_ARGS "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" +set(RANDOMLIB_CMAKE_ARGS "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" "-DCMAKE_INSTALL_PREFIX=${RANDOMLIB_DESTPATH}" "-DCMAKE_BUILD_TYPE=RELEASE" "-DMAINTAINER=OFF" "-DRANDOM_SHARED_LIB=OFF" - "-DCMAKE_C_FLAGS=-fpic" - "-DCMAKE_CXX_FLAGS=-fpic" "-DDISABLE_BOOST=ON" - "-DRANDOMLIB_DOCUMENTATION=OFF" + "-DRANDOMLIB_DOCUMENTATION=OFF") + +if(NOT MSVC) + set(RANDOMLIB_CMAKE_ARGS ${RANDOMLIB_CMAKE_ARGS} "-DCMAKE_C_FLAGS=-fpic" "-DCMAKE_CXX_FLAGS=-fpic") +endif() + +externalproject_add( + randomlibBuild + GIT_REPOSITORY http://git.code.sf.net/p/randomlib/code + GIT_TAG "r1.6" + CMAKE_ARGS ${RANDOMLIB_CMAKE_ARGS} UPDATE_COMMAND "" ) add_library(randomlib STATIC IMPORTED DEPENDS) @@ -75,7 +78,7 @@ add_definitions(-DVCL_CAN_STATIC_CONST_INIT_FLOAT=0 -DVCL_CAN_STATIC_CONST_INIT_ if(MSVC) # NOTE: The slic library uses a preprocessor flag "WINDOWS". Do NOT set # this flag for Visual Studio because it breaks everything - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE) + ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -DNOMINMAX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPENMP_FLAG}") else() set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++11 -O3 ${OPENMP_FLAG}") diff --git a/IntegralImage.h b/IntegralImage.h index 7f716ab..cee21cf 100644 --- a/IntegralImage.h +++ b/IntegralImage.h @@ -20,6 +20,7 @@ #define INTEGRALIMAGE_H #include +#include #include // a box of center (x,y,z), radius (rx,ry,rz) @@ -73,7 +74,7 @@ class IntegralImage template static inline S removeNaN( S val ) { - if ( std::isnan(val) || std::isinf(val) ) + if ( std::isnan((double)val) || std::isinf((double)val) ) return (S)0; else return val; diff --git a/ROIData.h b/ROIData.h index 2f99b1f..f6c9606 100644 --- a/ROIData.h +++ b/ROIData.h @@ -19,6 +19,7 @@ #ifndef _ROI_DATA_H_ #define _ROI_DATA_H_ +#include #include #include diff --git a/auxItk/AllEigenVectorsOfHessian.h b/auxItk/AllEigenVectorsOfHessian.h index 6dd827a..570b425 100644 --- a/auxItk/AllEigenVectorsOfHessian.h +++ b/auxItk/AllEigenVectorsOfHessian.h @@ -99,7 +99,7 @@ namespace AllEigenVectorsOfHessian using namespace std; -#if defined(_MSC_VER) && _MSC_VER <= 1700 +#if defined(_MSC_VER) #define showMsg(args) \ do { \ printf("\x1b[32m" "\x1b[1m["); \ diff --git a/slic/LKM.h b/slic/LKM.h index 996fcdc..8442bf1 100644 --- a/slic/LKM.h +++ b/slic/LKM.h @@ -5,6 +5,8 @@ // Email: firstname.lastname@epfl.ch ////////////////////////////////////////////////////////////////////// +#include + #if !defined(_LKM_H_INCLUDED_) #define _LKM_H_INCLUDED_