I had the same issue with CubeMX 5.5.5, one has to check on this screen the CMSIS packages:
Then arm_math.h will appear:

You can compile then, but the linker will miss the libraries. Lost a lot of time and figured out, that it worked for me as follows:
Copy both arm_cortexM4lf_math.lib and libarm_cortexM4lf_math.a to a manually created subfolder:

Set the Path for libraries then:

And specify the library to be used - without extension!!!!:

Don't know, why I have to copy both arm_cortexM4lf_math.lib and libarm_cortexM4lf_math.a, took a long time to figure out, which type of libray is the right (I have a STM32F4 - it looks like it's little endian, with FPU). Don't know why I have to specify the library name without an extions. But it seems to work now.
Would be fine, if CubeMX takes the decision and does all the work for me.
The documentation state is bad as well.
Or maybe, I'm just too stupid and/or missed any good document...
hth
Andy