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:15:00 UTC

[jira] [Commented] (ARROW-10911) [C++] Improve *_SOURCE CMake variables naming

    [ https://issues.apache.org/jira/browse/ARROW-10911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249441#comment-17249441 ] 

Kouhei Sutou commented on ARROW-10911:
--------------------------------------

[~uwe] What do you think about this?

> [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)