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