[ https://issues.apache.org/jira/browse/ARROW-4383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rok Mihevc updated ARROW-4383: ------------------------------ External issue URL: https://github.com/apache/arrow/issues/15952 > [C++] Use the CMake's standard find features > -------------------------------------------- > > Key: ARROW-4383 > URL: https://issues.apache.org/jira/browse/ARROW-4383 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Kouhei Sutou > Assignee: Uwe Korn > Priority: Major > Fix For: 0.13.0 > > > From https://github.com/apache/arrow/pull/3469#discussion_r250862542 > We implement our custom find codes to find libraries by > {{find_library()}}/{{find_path()}} with {{NO_DEFAULT_PATH}}. So we need to > handle {{lib64/}} (on Red Hat) and {{lib/x86_64-linux-gnu/}} (on Debian) > paths manually. > If we use the CMake's standard find features such as {{CMAKE_PREFIX_PATH}} > https://cmake.org/cmake/help/v3.13/variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH > , we can remove our custom find codes. > CMake has package specific find path feature by {{<PackageName}_ROOT}} since > 3.12. It's equivalent of our {{<PackageName}_HOME}}. > https://cmake.org/cmake/help/v3.12/command/find_library.html > {quote} > If called from within a find module loaded by > {{find_package(<PackageName>)}}, search prefixes unique to the current > package being found. Specifically look in the {{<PackageName>_ROOT}} CMake > variable and the {{<PackageName>_ROOT}} environment variable. The package > root variables are maintained as a stack so if called from nested find > modules, root paths from the parent’s find module will be searched after > paths from the current module, i.e. {{<CurrentPackage>_ROOT}}, > {{ENV\{<CurrentPackage>_ROOT}}}, {{<ParentPackage>_ROOT}}, > {{ENV\{<ParentPackage>_ROOT}}}, etc. > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)