I'm trying to build arrow with conan + cmake. As you can read here, I have to affect an option variable to avoid optimizations based on my machine, because the code I'm building will be used in many computers, some of which don't have AVX2 as mine does (the options available in the conan arrow recipe are limited and don't include SIMD level).
Here's arrow's relevant piece of the cmake:
define_option_string(ARROW_RUNTIME_SIMD_LEVEL
"Max runtime SIMD optimization level"
"MAX" # default to max supported by compiler
"NONE"
"SSE4_2"
"AVX2"
"AVX512"
"MAX")
I tried adding the option as part of the conan install command:
conan install .. --build=arrow -e:b ARROW_RUNTIME_SIMD_LEVEL=NONE
and even setting it as an environment variable (and several other crazy ideas). But it doesn't matter. The end result is that cmake sets the default (MAX), as shown in this part of the build output:
-- ARROW_RUNTIME_SIMD_LEVEL=MAX [default=NONE|SSE4_2|AVX2|AVX512|MAX]
-- Max runtime SIMD optimization level
This looks like it should be something simple, but I cannot find information on how to do it, not from arrow nor from conan.