How do you determine the architecture for release builds?
From my understanding, by default, the buildfarm builds releases for 32 bit, 64 bit, arm , amd, etc. I am trying to release a package which depends on a shared object library of which we have separate .so files for each architecture.
My question is, how can I check the architecture for the buildfarm using our CMakeLists file so that I know which library to link to? I have heard and found in practice that CMAKEHOSTSYSTEM_PROCESSOR is unreliable.
Asked by XavierArtache on 2017-12-06 13:41:43 UTC
Answers
I don't find a standard way, there are some good options listed here: https://stackoverflow.com/questions/11944060/how-to-detect-target-architecture-using-cmake
I might try starting to use the CMAKE_SYSTEM_PROCESSOR
and see if it's good enough on the target platforms. Then escalate to more complicated solutions.
Asked by tfoote on 2017-12-08 17:07:14 UTC
Comments
Thanks -- this seems to be the right variable; not sure how we overlooked this! I hoped there might be an additional variable explicitly set by catkin or the buildfarm process, but it looks like this isn't the case. We'll test right away and mark the answer if it works.
Asked by MatthewTesch on 2017-12-08 17:38:02 UTC
Comments