]> Creatis software - cpPlugins.git/blobdiff - COMPILATION
Merge ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / COMPILATION
index 96717facead63fdf0becb69175ba03a9d861fa9b..de796b54af9667354ca426d2cf3cc1f7b2b5893f 100644 (file)
   has only been tested on linux Fedora 20 and Ubuntu 14.04.
 
 @prerequisites
+
+  0. A decent compiler for your system:
+    Linux: g++ with c++11 support
+    Mac: Xcode
+    Windows: any Visual Studio >= 2010
+
   1. CMake (>=2.8.12.2)
+    Just use your favorite repository or get the installer from http://www.cmake.org.
+
+  2. [Optional] Qt (=4.8)
+    On linux just install the corresponding package. On Mac and Windows, download
+    the source code and compile it with your favorite compiler. Please be aware that:
+      - Both release and debug configs are needed.
+      - Compile Qt with only SHARED support.
+      - Compile Qt without Webkit support.
 
   3. Visualization Toolkit -VTK- (>=6.1.0)
-    3.1 Required cmake flags:
-      BUILD_SHARED_LIBS:BOOL=ON
-
-  4. Insight Toolkit -ITK- (>=4.6.0)
-    4.1 Required cmake flags:
-      BUILD_SHARED_LIBS:BOOL=ON
-      Module_ITKVtkGlue:BOOL=ON
-
-@cmake_flags
-  BUILD_DEMOS:BOOL
-    Build example applications? (most of them are command line)
-  CMAKE_BUILD_TYPE:STRING
-    Debug/Release?
-  CMAKE_INSTALL_PREFIX:STRING
-    Where to put installation products? (in windows this option has no use)
+    1. Download VTK source code from http://www.vtk.org, copy the downloaded
+       zip/tar.gz file to your work directory (say ~/sources), uncompress the
+       source file and create an empty folder (say ~/sources/vtk-build)
+    2. Execute cmake taking care to put two directories: the source dir (where
+       the VTK source code is after decompression) and the build dir (the new
+       empty folder you just created).
+    3. On linux/mac, it is easier to execute from a command line console:
+      $ cd ~/sources/vtk-build
+      *** WARNING: IF YOU INSTALLED QT ***
+      $ cmake -DCMAKE_CXX_FLAGS:STRING=-std=c++11 \
+              -DBUILD_DOCUMENTATION:BOOL=OFF \
+              -DBUILD_EXAMPLES:BOOL=OFF \
+              -DBUILD_SHARED_LIBS:BOOL=ON \
+              -DBUILD_TESTING:BOOL=OFF \
+              -DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
+              -DModule_vtkGUISupportQt:BOOL=ON \
+              -DModule_vtkGUISupportQtOpenGL:BOOL=ON \
+              -DModule_vtkGUISupportQtSQL:BOOL=OFF \
+              -DModule_vtkGUISupportQtWebkit:BOOL=OFF \
+              -DCMAKE_INSTALL_PREFIX:PATH=~/local \
+              ~/source/the_folder_where_vtk_was_decompressed
+      *** WARNING: IF YOU DIDN'T INSTALLED QT ***
+      $ cmake -DCMAKE_CXX_FLAGS:STRING=-std=c++11 \
+              -DBUILD_DOCUMENTATION:BOOL=OFF \
+              -DBUILD_EXAMPLES:BOOL=OFF \
+              -DBUILD_SHARED_LIBS:BOOL=ON \
+              -DBUILD_TESTING:BOOL=OFF \
+              -DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
+              -DModule_vtkGUISupportQt:BOOL=OFF \
+              -DModule_vtkGUISupportQtOpenGL:BOOL=OFF \
+              -DModule_vtkGUISupportQtSQL:BOOL=OFF \
+              -DModule_vtkGUISupportQtWebkit:BOOL=OFF \
+              -DCMAKE_INSTALL_PREFIX:PATH=~/local \
+              ~/source/the_folder_where_vtk_was_decompressed
+      $ make
+      ... WAIT A FEW MINUTES ...
+      $ make install
+    4. On windows, make sure that the following cmake variables are configured as:
+         BUILD_DOCUMENTATION:BOOL=OFF
+         BUILD_EXAMPLES:BOOL=OFF
+         BUILD_SHARED_LIBS:BOOL=ON
+         BUILD_TESTING:BOOL=OFF
+         CMAKE_BUILD_TYPE:STRING=MinSizeRel
+         Module_vtkGUISupportQt:BOOL=[OFF/ON] ** "ON", IF YOU INSTALLED Qt
+         Module_vtkGUISupportQtOpenGL:BOOL=[OFF/ON] ** "ON", IF YOU INSTALLED Qt
+         Module_vtkGUISupportQtSQL:BOOL=OFF \
+         Module_vtkGUISupportQtWebkit:BOOL=OFF \
+       NOTE: Normally, windows compilers already support c++11.
+
+  3. Insight Toolkit -ITK- (>=4.6.0)
+    1. Download ITK source code from http://www.itk.org, copy the downloaded
+       zip/tar.gz file to your work directory (say ~/sources), uncompress the
+       source file and create an empty folder (say ~/sources/itk-build)
+    2. Execute cmake taking care to put two directories: the source dir (where
+       the ITK source code is after decompression) and the build dir (the new
+       empty folder you just created).
+    3. On linux/mac, it is easier to execute from a command line console:
+      $ cd ~/sources/itk-build
+      $ cmake -DCMAKE_CXX_FLAGS:STRING=-std=c++11 \
+              -DBUILD_DOCUMENTATION:BOOL=OFF \
+              -DBUILD_EXAMPLES:BOOL=OFF \
+              -DBUILD_SHARED_LIBS:BOOL=ON \
+              -DBUILD_TESTING:BOOL=OFF \
+              -DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
+              -DModule_ITKReview:BOOL=ON \
+              -DModule_ITKVtkGlue:BOOL=OFF \
+              -DCMAKE_INSTALL_PREFIX:PATH=~/local \
+              ~/source/the_folder_where_itk_was_decompressed
+      $ make
+      ... WAIT A FEW MINUTES ...
+      $ make install
+    4. On windows, make sure that the following cmake variables are configured as:
+         BUILD_DOCUMENTATION:BOOL=OFF
+         BUILD_EXAMPLES:BOOL=OFF
+         BUILD_SHARED_LIBS:BOOL=ON
+         BUILD_TESTING:BOOL=OFF
+         CMAKE_BUILD_TYPE:STRING=MinSizeRel
+         Module_ITKReview:BOOL=ON
+         Module_ITKVtkGlue:BOOL=OFF
+       NOTE: Normally, windows compilers already support c++11.
+
+  4. WARNING: Notes on compilation on MS-Windows
+     As the time being (circa dec 2014), I've been using MSVC-2013 (compiler
+     version 12). As expected, weird behavior is related to this config. Please
+     take into account the following in order to have a successful compilation:
+     4.1 If you want to build the Qt-based code, please be sure that
+         it was compiled with EXACTLY the same compiler you are using.
+     4.2 Since the dll load-unload procedure in MSWin is kind of magic,
+         VTK and ITK should be compiled as shared libraries. This allows a
+         correct execution of the SmartPointer's thus preventing anoying crashes.
+     4.3 If you found more problems in any MSWin config, please let us know at
+         florez-l@javeriana.edu.co
+
+@compilation
+  The project uses CMake as project manager. You can use the CMake GUI to configure
+  it on your box. Please take into account the following variables:
+    USE_QT4:BOOL           -> It allows you to compile the Qt support
+    BUILD_EXAMPLES:BOOL    -> Do you want to compile the examples?
+    BUILD_SHARED_LIBRARIES -> Put this allways "ON". "OFF" is still experimental
+    CMAKE_BUILD_TYPE       -> Compilation type. Possible values: Debug, Release,
+                              MinSizeRel, RelWithDebInfo, None
+    ITK_DIR                -> Where ITK was intalled. If you followed this list,
+                              it should be on: ~/local/lib/cmake/ITK-X.Y (X and Y are
+                              the version numbers)
+    VTK_DIR                -> Where VTK was intalled. If you followed this list,
+                              it should be on: ~/local/lib/cmake/vtk-X.Y (X and Y are
+                              the version numbers)
 
 ## eof - $RCSfile$