You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Kouhei Sutou (Jira)" <ji...@apache.org> on 2020/12/15 02:12:00 UTC
[jira] [Created] (ARROW-10911) [C++] Improve *_SOURCE CMake
variables naming
Kouhei Sutou created ARROW-10911:
------------------------------------
Summary: [C++] Improve *_SOURCE CMake variables naming
Key: ARROW-10911
URL: https://issues.apache.org/jira/browse/ARROW-10911
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Kouhei Sutou
Assignee: Kouhei Sutou
https://github.com/apache/arrow/pull/8908#issuecomment-744780934
{quote}
> This change also renamed our Boost dependency name to "Boost" from
"BOOST". It means that users need to use -DBoost_SOURCE not
-DBOOST_SOURCE. To keep backward compatibility, -DBOOST_SOURCE is
still accepted when -DBoost_SOURCE isn't specified.
> Users also need to use -Dre2_SOURCE not -DRE2_SOURCE. To keep backward
compatibility, -DRE2_SOURCE is still accepted when -Dre2_SOURCE isn't
specified.
I would love to have this kind of case-insensitive handling for all dependencies. This has tripped me up many times and it is difficult to explain to others why everything else is ALL_CAPS but these dependencies are a mix.
{quote}
https://github.com/apache/arrow/pull/8908#issuecomment-744898897
{quote}
OK. How about using `ARROW_${UPPERCASE_DEPENDENCY_NAME}_SOURCE` CMake variables for them like `ARROW_*_USE_SHARED`?
If it sounds reasonable, we can work on it as a separated task.
{quote}
https://github.com/apache/arrow/pull/8908#issuecomment-744954917
{quote}
Why does it need the `ARROW_` namespace prefix?
I'm fine with anything that is intuitive and trivial to document.
{quote}
https://github.com/apache/arrow/pull/8908#issuecomment-745005158
{quote}
Because of consistency.
If we use `ARROW_${UPPERCASE_DEPENDENCY_NAME}_SOURCE` not `${UPPERCASE_DEPENDENCY_NAME}_SOURCE`, we can explain that you can customize how to use `${DEPENDENCY}` by `ARROW_${UPPERCASE_DEPENDENCY_NAME}_{SOURCE,USE_SHARED}` CMake variables. It'll more intuitive than using `${UPPERCASE_DEPENDENCY_NAME}_SOURCE` and `ARROW_${UPPERCASE_DEPENDENCY_NAME}_USE_SHARED`.
{quote}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)