[
https://issues.apache.org/jira/browse/ARROW-16585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kouhei Sutou reassigned ARROW-16585:
------------------------------------
Assignee: Kouhei Sutou
> CMake and pkg-config files are broken when CMAKE_INSTALL_{BIN,INCLUDE,LIB}DIR
> is absolute
> -----------------------------------------------------------------------------------------
>
> Key: ARROW-16585
> URL: https://issues.apache.org/jira/browse/ARROW-16585
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Reporter: Alexander Shpilkin
> Assignee: Kouhei Sutou
> Priority: Major
>
> As per title: {{{}cpp/src/gandiva/gandiva.pc.in{}}},
> {{{}cpp/src/parquet/parquet.pc.in{}}}, {{{}cpp/src/plasma/plasma.pc.in{}}},
> and {{cpp/src/skyhook/skyhook.pc.in}} have
> {code:java}
> prefix=@CMAKE_INSTALL_PREFIX@
> libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
> includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ # not in plasma.pc.in{code}
> while {{cpp/src/plasma/PlasmaConfig.cmake.in}} has
> {code:java}
> set(PLASMA_STORE_SERVER
> "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/plasma-store-server@CMAKE_EXECUTABLE_SUFFIX@"){code}
> and so they can’t handle absolute paths in
> {{{}CMAKE_INSTALL_\{BIN,INCLUDE,LIB}DIR{}}}. This leads to broken .pc files
> on NixOS in particular.
> See “[Concatenating paths when building pkg-config
> files|https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files]”
> for a thorough discussion of the problem and a suggested fix, or [KDE’s
> extra-cmake-modules|https://invent.kde.org/frameworks/extra-cmake-modules/-/blob/master/modules/ECMGeneratePkgConfigFile.cmake#L166]
> for a simpler approach.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)