X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=45ffbb0fd33ce6c0255298bb8d3027f01d9b43d1;hb=0bb74f9a32de4ce1559973ebf72fda495aa2c587;hp=797b910181a8bb3916e337d60f784520e85b3cf7;hpb=b4cc15873d07ef87910a4aa6492e74022cda1a25;p=cpPlugins.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 797b910..45ffbb0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,13 +21,10 @@ ENDFOREACH(policy) ## ================ PROJECT(cpPlugins) -SET(prj_MAJOR_VERSION "0") -SET(prj_MINOR_VERSION "0") -SET(prj_RELEASE_VERSION "1") -SET( - prj_VERSION - "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}" - ) +SET(prj_MAJ_VER "0") +SET(prj_MIN_VER "0") +SET(prj_REL_VER "1") +SET(prj_VERSION "${prj_MAJ_VER}.${prj_MIN_VER}.${prj_REL_VER}") ## =========== ## = Options = @@ -36,17 +33,33 @@ SET( OPTION(USE_QT4 "Build Qt4-based code" OFF) OPTION(BUILD_EXAMPLES "Build examples" OFF) -OPTION(BUILD_SHARED_LIBRARIES "Build libraries as shared" OFF) -IF(BUILD_SHARED_LIBRARIES) - SET(LIBRARY_TYPE SHARED) -ELSE(BUILD_SHARED_LIBRARIES) - SET(LIBRARY_TYPE STATIC) -ENDIF(BUILD_SHARED_LIBRARIES) +SET(LIBRARY_TYPE SHARED) ## ======================== ## = Packages and options = ## ======================== +# Force c++11 language version +# NOTE: It seems that by default on Visual Studio Compiler supports c++11, +# so it only need to be test on other O.S. +IF(NOT MSVC) + INCLUDE(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) + IF(COMPILER_SUPPORTS_CXX11) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + ELSE(COMPILER_SUPPORTS_CXX11) + CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) + IF(COMPILER_SUPPORTS_CXX0X) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") + ELSE(COMPILER_SUPPORTS_CXX0X) + MESSAGE( + FATAL_ERROR + "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support." + ) + ENDIF(COMPILER_SUPPORTS_CXX0X) + ENDIF(COMPILER_SUPPORTS_CXX11) +ENDIF(NOT MSVC) + # Prepare header to build shared libs (windows) INCLUDE(GenerateExportHeader)