forked from jasper-software/jasper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
163 lines (120 loc) · 5.03 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Installation
============
The process required to install JasPer is described below.
Installation on Systems Running Unix
------------------------------------
In what follows, let $SOURCE_DIR denote the top-level directory of the
JasPer software source tree (i.e., the directory containing the files
named LICENSE and INSTALL) and let $INSTALL_DIR denote the target
directory for installation.
1) Select an empty directory to use for building the software.
Let $BUILD_DIR denote this directory.
2) Generate the makefiles used for building the software. To do this,
invoke the command:
cmake -H$SOURCE_DIR -B$BUILD_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
$OPTIONS
where $OPTIONS corresponds to zero or more -D options as described below
under the heading "Cmake Options".
3) Build the code using the make utility. To do this, invoke the command:
cmake --build $BUILD_DIR
4) Run the test suite to ensure that the software seems to be working
correctly. To do this, invoke the commands:
cd $BUILD_DIR
ctest --output-on-failure
5) Install the software. To do this, invoke the command:
cmake --build $BUILD_DIR --target install
Additional Remarks:
When building the JasPer software under Mac OSX, only the use of the
native framework for OpenGL is officially supported. If the Freeglut
library is installed on your system, you will need to ensure that the
native GLUT library (as opposed to the Freeglut library) is used by the
build process. This can be accomplished by adding an extra option to
the cmake command line that resembles the following:
-DGLUT_glut_LIBRARY=/System/Library/Frameworks/GLUT.framework
Installation on Systems Running Microsoft Windows
-------------------------------------------------
In what follows, let %SOURCE_DIR% denote the top-level directory of the
JasPer software source tree (i.e., the directory containing the files
named LICENSE and INSTALL) and let %INSTALL_DIR% denote the target
directory for installation.
1) Select an empty directory to use for building the software.
Let %BUILD_DIR% denote this directory.
2) Generate the project file needed to build the software with Microsoft
Visual Studio. To do this, invoke the command:
cmake -G "Visual Studio 12 2013 Win64" -H%SOURCE_DIR% -B%BUILD_DIR% ^
-DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% %OPTIONS%
where %OPTIONS% corresponds to zero or more -D options as described
below under the heading "Cmake Options". (Note the caret symbol "^"
above denotes line continuation.)
3) Build and install the software. To do this, invoke the command:
msbuild %build_dir%\INSTALL.vcxproj
Cmake Options
-------------
The option OPTION can be set to the value VALUE with a command-line option
of the form -DOPTION=VALUE
The following options are supported:
CMAKE_INSTALL_PREFIX
Specify the installation directory.
Value: A directory name.
CMAKE_BUILD_TYPE
Specify the build type (i.e., release or debug).
Valid values: Debug or Release
JAS_ENABLE_MULTITHREADING_SUPPORT
Specify if the library should include multithreading support.
Valid values: true and false
JAS_PREFER_PTHREAD
Specify if the POSIX Threads library should be preferred over native
C11 threading support.
Valid values: true and false
JAS_ENABLE_PROGRAMS
Specify if the demo application programs should be built/installed.
Valid values: true and false
JAS_ENABLE_DOC
Enable the building of the documentation (which requires LaTeX).
Valid values: true and false
JAS_ENABLE_LIBJPEG
Enable the use of the JPEG library
Valid values: true and false
JAS_ENABLE_OPENGL
Enable the use of the OpenGL and GLUT libraries.
Valid values: true and false
JAS_ENABLE_SHARED
Enable the building of shared libraries.
Valid values: true or false
JAS_ENABLE_HIDDEN
Hide internal symbols? Enabling this results in a smaller binary.
Valid values: true or false
JAS_ENABLE_32BIT
Force the use of 32 bit integers? On 64 bit CPUs, JasPer
historically used 64 bit integers which consumes more memory, is
slower and has no advantages. This produces a different ABI, so
the resulting library is not compatible with other builds.
Valid values: true or false
JAS_DEFAULT_MAX_MEM_USAGE
Specify the maximum amount of memory (in bytes) that may be used by
the library.
This value is only a default and can be overridden at run time.
Valid value: a (strictly) positive integer
JAS_INCLUDE_BMP_CODEC
JAS_INCLUDE_JP2_CODEC
JAS_INCLUDE_JPC_CODEC
JAS_INCLUDE_JPG_CODEC
JAS_INCLUDE_MIF_CODEC
JAS_INCLUDE_PGX_CODEC
JAS_INCLUDE_PNM_CODEC
JAS_INCLUDE_RAS_CODEC
Include support for the specified codec in the library.
(This support can still be disabled at run time.)
Valid values: true or false
JAS_ENABLE_ASAN
Enable the Address Sanitizer.
Valid values: true or false
JAS_ENABLE_UBSAN
Enable the Undefined-Behavior Sanitizer.
Valid values: true or false
JAS_ENABLE_LSAN
Enable the Leak Sanitizer.
Valid values: true or false
JAS_ENABLE_MSAN
Enable the Memory Sanitizer.
Valid values: true or false