The default value of `CMAKE_INSTALL_PREFIX` causes the libjpeg-turbo files to
be installed with a directory structure resembling that of the official
libjpeg-turbo binary packages. Changing the value of `CMAKE_INSTALL_PREFIX`
-(for instance, to "/usr/local") causes the libjpeg-turbo files to be installed
-with a directory structure that conforms to GNU standards.
+(for instance, to **/usr/local**) causes the libjpeg-turbo files to be
+installed with a directory structure that conforms to GNU standards.
The `CMAKE_INSTALL_BINDIR`, `CMAKE_INSTALL_DATAROOTDIR`,
`CMAKE_INSTALL_DOCDIR`, `CMAKE_INSTALL_INCLUDEDIR`, `CMAKE_INSTALL_JAVADIR`,
finer degree of control over where specific files in the libjpeg-turbo
distribution should be installed. These directory variables can either be
specified as absolute paths or as paths relative to `CMAKE_INSTALL_PREFIX` (for
-instance, setting `CMAKE_INSTALL_DOCDIR=doc` would cause the documentation to
-be installed in `${CMAKE_INSTALL_PREFIX}/doc`.) If `CMAKE_INSTALL_DOCDIR`,
-`CMAKE_INSTALL_JAVADIR`, or `CMAKE_INSTALL_MANDIR` contains the special string
-`<DATAROOTDIR>`, then that string is automatically replaced by the value of
-`CMAKE_INSTALL_DATAROOTDIR`.
+instance, setting `CMAKE_INSTALL_DOCDIR` to **doc** would cause the
+documentation to be installed in **${CMAKE\_INSTALL\_PREFIX}/doc**.) If a
+directory variable contains the name of another directory variable in angle
+brackets, then its final value will depend on the final value of that other
+variable. For instance, the default value of `CMAKE_INSTALL_MANDIR` is
+**\<CMAKE\_INSTALL\_DATAROOTDIR\>/man**.
NOTE: If setting one of these directory variables to a relative path using the
CMake command line, you must specify that the variable is of type `PATH`.
# When the prefix is /opt/${CMAKE_PROJECT_NAME}, we assume that an "official"
# build is being created, and thus we install things into specific locations.
-if(CMAKE_INSTALL_PREFIX STREQUAL "${CMAKE_INSTALL_DEFAULT_PREFIX}" OR NOT UNIX)
+if(CMAKE_INSTALL_PREFIX STREQUAL "${CMAKE_INSTALL_DEFAULT_PREFIX}")
set(CMAKE_INSTALL_DEFAULT_DATAROOTDIR "")
- set(CMAKE_INSTALL_DEFAULT_DOCDIR "<DATAROOTDIR>/doc")
- set(CMAKE_INSTALL_DEFAULT_JAVADIR "<DATAROOTDIR>/classes")
-endif()
-if(CMAKE_INSTALL_PREFIX STREQUAL "${CMAKE_INSTALL_DEFAULT_PREFIX}" AND UNIX)
- if(NOT APPLE)
+ set(CMAKE_INSTALL_DEFAULT_DOCDIR "<CMAKE_INSTALL_DATAROOTDIR>/doc")
+ set(CMAKE_INSTALL_DEFAULT_JAVADIR "<CMAKE_INSTALL_DATAROOTDIR>/classes")
+ if(UNIX AND NOT APPLE)
if(BITS EQUAL 64)
set(CMAKE_INSTALL_DEFAULT_LIBDIR "lib64")
else()
# not set explicitly. This auto-updates the defaults as DATAROOTDIR changes.
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_DATADIR)
- set(CMAKE_INSTALL_DEFAULT_DATADIR "<DATAROOTDIR>")
+ set(CMAKE_INSTALL_DEFAULT_DATADIR "<CMAKE_INSTALL_DATAROOTDIR>")
endif()
set_dir(DATADIR
"The directory under which read-only architecture-independent data files should be installed")
if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
set(CMAKE_INSTALL_DEFAULT_INFODIR "info")
else()
- set(CMAKE_INSTALL_DEFAULT_INFODIR "<DATAROOTDIR>/info")
+ set(CMAKE_INSTALL_DEFAULT_INFODIR "<CMAKE_INSTALL_DATAROOTDIR>/info")
endif()
endif()
set_dir(INFODIR
if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
set(CMAKE_INSTALL_DEFAULT_MANDIR "man")
else()
- set(CMAKE_INSTALL_DEFAULT_MANDIR "<DATAROOTDIR>/man")
+ set(CMAKE_INSTALL_DEFAULT_MANDIR "<CMAKE_INSTALL_DATAROOTDIR>/man")
endif()
endif()
set_dir(MANDIR "The directory under which man pages should be installed")
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_LOCALEDIR)
- set(CMAKE_INSTALL_DEFAULT_LOCALEDIR "<DATAROOTDIR>/locale")
+ set(CMAKE_INSTALL_DEFAULT_LOCALEDIR "<CMAKE_INSTALL_DATAROOTDIR>/locale")
endif()
set_dir(LOCALEDIR
"The directory under which locale-specific message catalogs should be installed")
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_DOCDIR)
- set(CMAKE_INSTALL_DEFAULT_DOCDIR "<DATAROOTDIR>/doc/${PROJECT_NAME}")
+ set(CMAKE_INSTALL_DEFAULT_DOCDIR "<CMAKE_INSTALL_DATAROOTDIR>/doc/${PROJECT_NAME}")
endif()
set_dir(DOCDIR
"The directory into which documentation files (other than info files) should be installed")
if(NOT DEFINED CMAKE_INSTALL_DEFAULT_JAVADIR)
- set(CMAKE_INSTALL_DEFAULT_JAVADIR "<DATAROOTDIR>/java")
+ set(CMAKE_INSTALL_DEFAULT_JAVADIR "<CMAKE_INSTALL_DATAROOTDIR>/java")
endif()
set_dir(JAVADIR "The directory into which Java classes should be installed")
-string(REGEX REPLACE "<DATAROOTDIR>" "${CMAKE_INSTALL_DATAROOTDIR}"
- CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}")
-foreach(var INFODIR MANDIR LOCALEDIR DOCDIR JAVADIR)
- if(NOT CMAKE_INSTALL_DATAROOTDIR)
- string(REGEX REPLACE "<DATAROOTDIR>/" "${CMAKE_INSTALL_DATAROOTDIR}"
- CMAKE_INSTALL_${var} "${CMAKE_INSTALL_${var}}")
- else()
- string(REGEX REPLACE "<DATAROOTDIR>" "${CMAKE_INSTALL_DATAROOTDIR}"
- CMAKE_INSTALL_${var} "${CMAKE_INSTALL_${var}}")
- endif()
-endforeach()
-
# Save for next run
set(_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE INTERNAL "CMAKE_INSTALL_PREFIX during last run")
#-----------------------------------------------------------------------------
+foreach(dir
+ BINDIR
+ SBINDIR
+ LIBEXECDIR
+ SYSCONFDIR
+ SHAREDSTATEDIR
+ LOCALSTATEDIR
+ LIBDIR
+ INCLUDEDIR
+ OLDINCLUDEDIR
+ DATAROOTDIR
+ DATADIR
+ INFODIR
+ LOCALEDIR
+ MANDIR
+ DOCDIR
+ JAVADIR
+ )
+ string(REGEX REPLACE "[<>]" "@" CMAKE_INSTALL_${dir}
+ "${CMAKE_INSTALL_${dir}}")
+ # Handle the specific case of an empty CMAKE_INSTALL_DATAROOTDIR
+ if(NOT CMAKE_INSTALL_DATAROOTDIR AND
+ CMAKE_INSTALL_${dir} MATCHES "\@CMAKE_INSTALL_DATAROOTDIR\@/")
+ string(CONFIGURE "${CMAKE_INSTALL_${dir}}" CMAKE_INSTALL_${dir} @ONLY)
+ string(REGEX REPLACE "^/" "" CMAKE_INSTALL_${dir}
+ "${CMAKE_INSTALL_${dir}}")
+ else()
+ string(CONFIGURE "${CMAKE_INSTALL_${dir}}" CMAKE_INSTALL_${dir} @ONLY)
+ endif()
+endforeach()
+
mark_as_advanced(
CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_SBINDIR
if [ $SUPPLEMENT = 1 ]; then
make install DESTDIR=$TMPDIR
rm -rf $TMPDIR$BINDIR
- if [ "$DATADIR" != "$PREFIX" ]; then
- rm -rf $TMPDIR$DATADIR
+ if [ "$DATAROOTDIR" != "$PREFIX" ]; then
+ rm -rf $TMPDIR$DATAROOTDIR
fi
if [ "$JAVADIR" != "" ]; then
rm -rf $TMPDIR$JAVADIR
DEBARCH=@DEBARCH@
PREFIX=@CMAKE_INSTALL_PREFIX@
BINDIR=@CMAKE_INSTALL_FULL_BINDIR@
-DATADIR=@CMAKE_INSTALL_FULL_DATADIR@
+DATAROOTDIR=@CMAKE_INSTALL_FULL_DATAROOTDIR@
DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
INCLUDEDIR=@CMAKE_INSTALL_FULL_INCLUDEDIR@
JAVADIR=@CMAKE_INSTALL_FULL_JAVADIR@
%define _prefix @CMAKE_INSTALL_PREFIX@
%define _bindir @CMAKE_INSTALL_FULL_BINDIR@
-%define _datadir @CMAKE_INSTALL_FULL_DATADIR@
+%define _datarootdir @CMAKE_INSTALL_FULL_DATAROOTDIR@
%define _docdir %{_defaultdocdir}/%{name}-%{version}
%define _includedir @CMAKE_INSTALL_FULL_INCLUDEDIR@
%define _javadir @CMAKE_INSTALL_FULL_JAVADIR@
#-->cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=@CMAKE_BUILD_TYPE@ \
#--> -DBUILD=%{release} \
#--> -DCMAKE_INSTALL_BINDIR=%{_bindir} \
-#--> -DCMAKE_INSTALL_DATADIR=%{_datadir} \
+#--> -DCMAKE_INSTALL_DATAROOTDIR=%{_datarootdir} \
#--> -DCMAKE_INSTALL_DOCDIR=%{_docdir} \
#--> -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
#--> -DCMAKE_INSTALL_JAVADIR=%{_javadir} \
%{_mandir}/man1/jpegtran.1*
%{_mandir}/man1/rdjpgcom.1*
%{_mandir}/man1/wrjpgcom.1*
-%if "%{_prefix}" != "%{_datadir}"
- %dir %{_datadir}
+%if "%{_prefix}" != "%{_datarootdir}"
+ %dir %{_datarootdir}
%endif
%if "%{_with_java}" == "1"
%dir %{_javadir}
echo Removing package directories ...
PREFIX=@CMAKE_INSTALL_PREFIX@
BINDIR=@CMAKE_INSTALL_FULL_BINDIR@
-DATADIR=@CMAKE_INSTALL_FULL_DATADIR@
+DATAROOTDIR=@CMAKE_INSTALL_FULL_DATAROOTDIR@
INCLUDEDIR=@CMAKE_INSTALL_FULL_INCLUDEDIR@
JAVADIR=@CMAKE_INSTALL_FULL_JAVADIR@
LIBDIR=@CMAKE_INSTALL_FULL_LIBDIR@
if [ -d $JAVADIR ]; then
rmdir $JAVADIR 2>&1 || EXITSTATUS=-1
fi
-if [ -d $DATADIR -a "$DATADIR" != "$PREFIX" ]; then
- rmdir $DATADIR 2>&1 || EXITSTATUS=-1
+if [ -d $DATAROOTDIR -a "$DATAROOTDIR" != "$PREFIX" ]; then
+ rmdir $DATAROOTDIR 2>&1 || EXITSTATUS=-1
fi
if [ "$PREFIX" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a -h "$PREFIX/doc" ]; then
rm $PREFIX/doc 2>&1 || EXITSTATUS=-1