Hello everyone, I've noticed that in our CMakeLists.txt files, we have multiple instances where we conditionally select either the static or shared version of a linked target based on a cache variable such as ARROW_BUILD_SHARED. For example, the following pattern appears in several places:
if(ARROW_BUILD_SHARED) set(PARQUET_EXAMPLE_LINK_LIBS parquet_shared) else() set(PARQUET_EXAMPLE_LINK_LIBS parquet_static) endif() I’m wondering if there is a specific reason we don’t set the static/shared property of the libraries in a single location, and instead continue duplicating this kind of logic throughout the codebase?