For clang this code fails to compile, and it's not hard to see why. Frankly it is amazing it compiled with GCC and CL! What I think happened is the address of the size function from the class was used. You may want to look into that, perhaps this code is never called?
Packages should install to /usr and non-packages to /usr/local By default, cmake will set the install prefix to /usr/local (yay!) but we can override this at configuration time using the -D switch. cmake -DCMAKE_PREFIX_PATH:PATH=<path> When packaging we need to ensure install points to /usr, which is the correct place for packaged files to be installed. When installing via cmake files get installed to /usr/local, as expected Change-Id: I08d3d6bb21d3040a79caf552e85e14c869079d79