[jira] [Commented] (ARROW-4383) [C++] Use the CMake's standard find features
[ https://issues.apache.org/jira/browse/ARROW-4383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16791153#comment-16791153 ] Kouhei Sutou commented on ARROW-4383: - I think that ARROW-4611 will resolve this too. I'll check this again after ARROW-4611 is merged. > [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 >Priority: Major > Fix For: 0.14.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 {{ 3.12. It's equivalent of our {{ https://cmake.org/cmake/help/v3.12/command/find_library.html > {quote} > If called from within a find module loaded by > {{find_package()}}, search prefixes unique to the current > package being found. Specifically look in the {{_ROOT}} CMake > variable and the {{_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. {{_ROOT}}, > {{ENV\{_ROOT}}}, {{_ROOT}}, > {{ENV\{_ROOT}}}, etc. > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARROW-4383) [C++] Use the CMake's standard find features
[ https://issues.apache.org/jira/browse/ARROW-4383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16791012#comment-16791012 ] Wes McKinney commented on ARROW-4383: - I suggest we address this more comprehensively after ARROW-4611 is in > [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 >Priority: Major > Fix For: 0.14.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 {{ 3.12. It's equivalent of our {{ https://cmake.org/cmake/help/v3.12/command/find_library.html > {quote} > If called from within a find module loaded by > {{find_package()}}, search prefixes unique to the current > package being found. Specifically look in the {{_ROOT}} CMake > variable and the {{_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. {{_ROOT}}, > {{ENV\{_ROOT}}}, {{_ROOT}}, > {{ENV\{_ROOT}}}, etc. > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARROW-4383) [C++] Use the CMake's standard find features
[ https://issues.apache.org/jira/browse/ARROW-4383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16762272#comment-16762272 ] Kouhei Sutou commented on ARROW-4383: - I agree with the idea that we use {{find_package()}} with {{CONFIGS}} as the first try. This is not a scope of this issue but I want to change the current vendored strategy. I want to change to use the system libraries by default and vendored libraries as fallback (and option). Now, we use vendored libraries by default. (e.g.: double-conversion) If we can use the system libraries by default, users don't need to build existing libraries by default. > [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 >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 {{ 3.12. It's equivalent of our {{ https://cmake.org/cmake/help/v3.12/command/find_library.html > {quote} > If called from within a find module loaded by > {{find_package()}}, search prefixes unique to the current > package being found. Specifically look in the {{_ROOT}} CMake > variable and the {{_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. {{_ROOT}}, > {{ENV\{_ROOT}}}, {{_ROOT}}, > {{ENV\{_ROOT}}}, etc. > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARROW-4383) [C++] Use the CMake's standard find features
[ https://issues.apache.org/jira/browse/ARROW-4383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761354#comment-16761354 ] Wes McKinney commented on ARROW-4383: - What do you think about trying to find the {{cmake/package-config.cmake}} file in our FindPACKAGE.cmake files and then fall back on the existing logic if the cmake files are not found? We are already using these for double-conversion, for example, but it would be good to do so consistently. > [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 >Priority: Major > > 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 {{ 3.12. It's equivalent of our {{ https://cmake.org/cmake/help/v3.12/command/find_library.html > {quote} > If called from within a find module loaded by > {{find_package()}}, search prefixes unique to the current > package being found. Specifically look in the {{_ROOT}} CMake > variable and the {{_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. {{_ROOT}}, > {{ENV\{_ROOT}}}, {{_ROOT}}, > {{ENV\{_ROOT}}}, etc. > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)