[
https://issues.apache.org/jira/browse/ARROW-10911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17262205#comment-17262205
]
Uwe Korn commented on ARROW-10911:
----------------------------------
I would suggest to use {{ARROW_${UPPERCASE_DEPENDENCY_NAME}_SOURCE}} to be in
line with the {{USE_SHARED}}. I don't have a strong preference regarding the
uppercasing but the {{ARROW_}} prefix is important to separate it from
variables that are used in the {{Find*.cmake}} scripts.
> [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
> Priority: Major
>
> 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)