[C++] Improve *_SOURCE CMake variables naming
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
https://github.com/apache/arrow/pull/8908#issuecomment-744780934
> > 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.
https://github.com/apache/arrow/pull/8908#issuecomment-744898897
> 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.
https://github.com/apache/arrow/pull/8908#issuecomment-744954917
> Why does it need the `ARROW_` namespace prefix?
>
> I'm fine with anything that is intuitive and trivial to document.
https://github.com/apache/arrow/pull/8908#issuecomment-745005158
> 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`.
**Reporter**: [Kouhei Sutou](https://issues.apache.org/jira/browse/ARROW-10911) / @kou
**Assignee**: [Kouhei Sutou](https://issues.apache.org/jira/browse/ARROW-10911) / @kou
**Note**: *This issue was originally created as [ARROW-10911](https://issues.apache.org/jira/browse/ARROW-10911). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Assessment
This issue has not been assessed yet.