Merge branch 'master' into openjpeg-2.1
[openjpeg.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a82faa9ea092f03eb2c364c63b4a3961fc062b67..16549f58061f444732ce00d81a9ae60595ece465 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,35 +2,10 @@
 How to build and install openjpeg binaries
 ==========================================
 
-UNIX/LINUX similar systems
+UNIX/LINUX/MacOSX/Windows systems
 --------------------------
 
-1) Using configure tools
-
-You can simply type
-  ./configure [--prefix=/path]
-  make
-
-If you are root:
-  make install
-  make clean
-  make distclean
-
-else:
-  sudo make install
-  make clean
-  make distclean
-
-Binaries are located in the 'bin' directory.
-
-If 'configure' does not work on your system please
-call './bootstrap.sh'.
-
-If 'configure' does not find a library or header file,
-or to see available configure options, please try 
-'./configure --help'.
-
-2) Using cmake (see www.cmake.org)
+Using cmake (see www.cmake.org)
 
 Type:
   cmake .
@@ -38,59 +13,57 @@ Type:
 
 If you are root:
   make install
-  make clean
 
-else:
+else if you have sudo power:
   sudo make install
-  make clean
+
+else
+  DESTDIR=$HOME/local make install
+
+To build the Doxygen documentation (Doxygen needs to be found on the system):
+(A 'html' directory is generated in the 'doc' directory)
+  make doc
 
 Binaries are located in the 'bin' directory.
 
 Main available cmake flags:
-* To specify the install path: '-DCMAKE_INSTALL_PREFIX=/path'
-* To build the shared libraries: '-DBUILD_SHARED_LIBS:bool=on'
-* To build the example codec: '-DBUILD_EXAMPLES:bool=on' (default is actually 'ON')
-* To build the JPWL binaries: '-DBUILD_JPWL:bool=on'
-* To build the JP3D binaries: '-DBUILD_JP3D:bool=on'
-* To build the doxygen documentation: '-DBUILD_DOCUMENTATION:bool=on'
+* To specify the install path: '-DCMAKE_INSTALL_PREFIX=/path', or use DESTDIR env variable (see above)
+* To build the shared libraries and links the executables against it: '-DBUILD_SHARED_LIBS:bool=on' (default: 'ON')
+  Note: when using this option, static libraries are not built and executables are dynamically linked.
+* To build the CODEC executables: '-DBUILD_CODEC:bool=on' (default: 'ON')
+* To build the documentation: '-DBUILD_DOC:bool=on' (default: 'OFF')
+* To build the MJ2 executables: '-DBUILD_MJ2:bool=on' (default: 'OFF')
+* To build the JPWL executables and JPWL library: '-DBUILD_JPWL:bool=on' (default: 'OFF')
+* To build the JPIP library and utilities: '-DBUILD_JPIP:bool=on' (default: 'OFF')
+** To build the JPIP server: '-DBUILD_JPIP_SERVER:bool=on' (default: 'OFF')
+* To build the JP3D library and utilities: '-DBUILD_JP3D:bool=on' (default: 'OFF') (experimental)
+* To build the Java binding: '-DBUILD_JAVA:bool=on' (default: 'OFF') (experimental).
+** to choose which java implementation, you can set your JAVA_HOME env var.
+* To build the wxWidgets/C++ viewer: 'BUILD_VIEWER:BOOL=ON' (default OFF) (experimental)
 * To enable testing (and automatic result upload to http://my.cdash.org/index.php?project=OPENJPEG):
-    cmake . -DBUILD_TESTING:BOOL=ON -DJPEG2000_CONFORMANCE_DATA_ROOT:PATH=/path/to/your/JPEG2000/test/files
+    cmake . -DBUILD_TESTING:BOOL=ON -DOPJ_DATA_ROOT:PATH='path/to/the/data/directory'
     make
     make Experimental
-  Note : JPEG2000 test files are available here : http://www.crc.ricoh.com/~gormish/jpeg2000conformance/
-
-3) Manually using Makefile.nix:
-- Manually edit the config.nix file
-- Manually create an opj_config.h file from opj_config.h.in.user
-  and edit this opj_config.h
-- Then : (if 'WITH_JPWL' and/or 'WITH_JP3D' are defined in config.nix)
-    make -f Makefile.nix all
-    make -f Makefile.nix install
-    make -f Makefile.nix clean
-    make -f Makefile.nix uninstall
-- If neither 'WITH_JPWL' nor 'WITH_JP3D' is defined in config.nix
-  and you want to clean/compile/install/uninstall JPWL/JP3D:
-  call the respective target in the respective directory.
+  Note : JPEG2000 test files are available with 'git clone https://github.com/uclouvain/openjpeg-data.git'.
+  If '-DOPJ_DATA_ROOT:PATH' option is omitted, test files will be automatically searched in '${CMAKE_SOURCE_DIR}/../data',
+  corresponding to the location of the data directory when compiling from the trunk (and assuming the data directory has
+  been checked out of course).
 
 MACOSX
 ------
 
-The same building procedures as above will soon be available for MACOSX.
-The xcode project file has also to be updated.
-Right now, the CMake procedure is the only one working. Please refer to instructions above.
+The same building procedures as above work for MACOSX.
+The xcode project file can also be used.
+
 If it does not work, try adding the following flag to the cmake command : 
   '-DCMAKE_OSX_ARCHITECTURES:STRING=i386'
 
 WINDOWS
 -------
 
-If you're using cygwin, the same procedures as for Unix should work. Otherwise:
-
-1) Using cmake to generate project files
-
-Use the cmake procedure above with the '-G <generator-name>' flag to generate the project
-files for the IDE you are using. Type 'cmake --help' for available generators on your platform.
+You can use cmake to generate project files for the IDE you are using (VS2010, NMake, etc).
+Type 'cmake --help' for available generators on your platform.
 
-2) Using the provided project files
+Make sure to build the third party libs (png, zlib ...):
 
-These files are obsolete and will be updated soon.
+  '-DBUILD_THIRDPARTY:BOOL=ON'