Handle CMAKE_INSTALL_xxx being absolute paths for .pc file generation
In some cases the CMAKE_INSTAL_{BIN,MAN,DOC,LIB,INCLUDE}DIR variables
may turn out to be absolute paths in which case prepending ${prefix} in
the pkg-config .pc files will result in incorrect values.
For .pc file generation, figure out if these variables are absolute and
omit the prefix in the configured file when so.
See: ab25e4b7ed
This commit is contained in:
parent
8ade1306ae
commit
9d4f70cfe9
|
@ -327,6 +327,19 @@ else()
|
||||||
option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF)
|
option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_PKGCONFIG_FILES)
|
if(BUILD_PKGCONFIG_FILES)
|
||||||
|
macro(set_variable_from_rel_or_absolute_path var root rel_or_abs_path)
|
||||||
|
if(IS_ABSOLUTE "${rel_or_abs_path}")
|
||||||
|
set(${var} "${rel_or_abs_path}")
|
||||||
|
else()
|
||||||
|
set(${var} "${root}/${rel_or_abs_path}")
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
set_variable_from_rel_or_absolute_path("bindir" "\\\${prefix}" "${CMAKE_INSTALL_BINDIR}")
|
||||||
|
set_variable_from_rel_or_absolute_path("mandir" "\\\${prefix}" "${CMAKE_INSTALL_MANDIR}")
|
||||||
|
set_variable_from_rel_or_absolute_path("docdir" "\\\${prefix}" "${CMAKE_INSTALL_DOCDIR}")
|
||||||
|
set_variable_from_rel_or_absolute_path("libdir" "\\\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
||||||
|
set_variable_from_rel_or_absolute_path("includedir" "\\\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}/${OPENJPEG_INSTALL_SUBDIR}")
|
||||||
|
|
||||||
# install in lib and not share (CMAKE_INSTALL_LIBDIR takes care of it for multi-arch)
|
# install in lib and not share (CMAKE_INSTALL_LIBDIR takes care of it for multi-arch)
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc @ONLY)
|
${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc @ONLY)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
prefix=@CMAKE_INSTALL_PREFIX@
|
prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
|
bindir=@bindir@
|
||||||
mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
|
mandir=@mandir@
|
||||||
docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
|
docdir=@docdir@
|
||||||
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
libdir=@libdir@
|
||||||
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
|
includedir=@includedir@
|
||||||
|
|
||||||
Name: openjp2
|
Name: openjp2
|
||||||
Description: JPEG2000 library (Part 1 and 2)
|
Description: JPEG2000 library (Part 1 and 2)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
prefix=@CMAKE_INSTALL_PREFIX@
|
prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
bindir=${prefix}/@CMAKE_INSTALL_BINDIR@
|
bindir=@bindir@
|
||||||
mandir=${prefix}/@CMAKE_INSTALL_MANDIR@
|
mandir=@mandir@
|
||||||
docdir=${prefix}/@CMAKE_INSTALL_DOCDIR@
|
docdir=@docdir@
|
||||||
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
libdir=@libdir@
|
||||||
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@OPENJPEG_INSTALL_SUBDIR@
|
includedir=@includedir@
|
||||||
|
|
||||||
Name: openjpip
|
Name: openjpip
|
||||||
Description: JPEG2000 Interactivity tools, APIs and protocols (Part 9)
|
Description: JPEG2000 Interactivity tools, APIs and protocols (Part 9)
|
||||||
|
|
Loading…
Reference in New Issue