]> Creatis software - cpPlugins.git/blobdiff - CMakeLists.txt
Merge ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / CMakeLists.txt
index d1ed48acf920919462f47ef3eb936f4dfab48f51..45ffbb0fd33ce6c0255298bb8d3027f01d9b43d1 100644 (file)
@@ -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,26 +33,36 @@ 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)
 
-# Find boost
-FIND_PACKAGE(Boost 1.30 COMPONENTS filesystem system REQUIRED)
-IF(Boost_FOUND)
-  INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
-ENDIF(Boost_FOUND)
-
 # Find ITK and VTK
 FIND_PACKAGE(ITK REQUIRED)
 FIND_PACKAGE(VTK REQUIRED)
@@ -129,6 +136,22 @@ IF(WIN32 OR APPLE)
     )
 ENDIF(WIN32 OR APPLE)
 
+## =======================
+## = Local bash commands =
+## =======================
+SET(
+  bash_PROGRAMS
+  cpPlugins_createHost
+  )
+
+FOREACH(prog ${bash_PROGRAMS})
+  IF(MSVC)
+    SET(${prog}_APP ${PROJECT_BINARY_DIR}/$(ConfigurationName)/${prog})
+  ELSE(MSVC)
+    SET(${prog}_APP ${PROJECT_BINARY_DIR}/${prog})
+  ENDIF(MSVC)
+ENDFOREACH(prog)
+
 ## ===========================
 ## = Subdirs containing code =
 ## ===========================