115 lines
3.7 KiB
Plaintext
115 lines
3.7 KiB
Plaintext
|
|
How to build and install openjpeg binaries
|
|
==========================================
|
|
|
|
UNIX/LINUX similar systems
|
|
--------------------------
|
|
|
|
1) Using autotools
|
|
|
|
It is highly recommended that pkg-config is installed. If needed, you have to
|
|
properly set the environment variable PKG_CONFIG_PATH so that the .pc files
|
|
are found.
|
|
|
|
To build from top-level directory, you can simply type:
|
|
./bootstrap.sh
|
|
./configure
|
|
make
|
|
|
|
To keep all build files in a separate directory, you can type instead:
|
|
./bootstrap.sh
|
|
mkdir build
|
|
cd build
|
|
../configure
|
|
make
|
|
|
|
To install:
|
|
sudo make install
|
|
|
|
To clean:
|
|
make clean
|
|
make distclean
|
|
|
|
To build doc (requires 'doxygen' to be found on your system):
|
|
(this will create an html directory in TOP_LEVEL/doc)
|
|
make doc
|
|
|
|
Main './configure' options (type './configure --help' for more details)
|
|
'--enable-mj2'
|
|
'--enable-jpwl'
|
|
'--enable-jpip'
|
|
'--prefix=/path/to/install/directory' (example : '--prefix=$PWD/installed')
|
|
'--enable-debug' (default : disabled)
|
|
|
|
You can also specify your own CFLAGS and LDFLAGS with (for example):
|
|
CFLAGS="-O3 -pipe" LDFLAGS="-Wl,-s" ./configure
|
|
|
|
The (optional) dependencies of some binaries are libpng, libtiff, libcms 1 or 2
|
|
and FastCGI. Only libtiff and FastCGI have no .pc file. There should be some
|
|
automatic detection if they are installed in /usr, /usr/local or /opt/local.
|
|
Otherwise, you can tune their detection (as well as for libpng and libcms1 or 2
|
|
too) with the environment variables:
|
|
|
|
TIFF_CFLAGS
|
|
TIFF_LIBS
|
|
FCGI_CFLAGS
|
|
FCGI_LIBS
|
|
|
|
See './configure --help' output for more details.
|
|
|
|
|
|
2) Using cmake (see www.cmake.org)
|
|
|
|
Type:
|
|
cmake .
|
|
make
|
|
|
|
If you are root:
|
|
make install
|
|
|
|
else if you have sudo power:
|
|
sudo make install
|
|
|
|
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', 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 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 enable testing (and automatic result upload to http://my.cdash.org/index.php?project=OPENJPEG):
|
|
cmake . -DBUILD_TESTING:BOOL=ON -DOPJ_DATA_ROOT:PATH='path/to/the/data/directory'
|
|
make
|
|
make Experimental
|
|
Note : JPEG2000 test files are available with 'svn checkout http://openjpeg.googlecode.com/svn/data' (about 70 Mo).
|
|
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 (autotools and cmake) 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 or MinGW+MSYS, the same procedures as for Unix can be used.
|
|
|
|
Otherwise you can use cmake to generate project files for the IDE you are using (VC2010, etc).
|
|
Type 'cmake --help' for available generators on your platform.
|