This applies to the ST processors. It may/may not apply to other vendors.
When you set Project Options->Libraries->CMSIS 5 CMSIS-[CORE|DSP] Library to Yes, the build environment adds a -D__FPU_PRESENT to the c compiler command which ends up being a redefinition of __FPU_PRESENT which is in STM32F411xE.h and similar ST header files.
To fix this, I looked at the <ProjectName>.ind file in the output directory which contains the list of files the linker is supposed to use. Found the CMSIS library file - in my case it was: arm_cortex_math_v7em_fpv4_sp_d16_hard_t_le_eabi.a and added the path to it: $(PackagesDir)/CMSIS_5/CMSIS/Lib/ES/arm_cortex_math_v7em_fpv4_sp_d16_hard_t_le_eabi.a to Project Options->Linker-Additional Input Files.
Then I set Project Options->Libraries->CMSIS 5 CMSIS-[CORE|DSP] Library to use Inhereted value which is No. Since these options are set to No, the IDE doesn't add a -D__FPU_PRESENT to the c compiler command which resolves the redefinition issue.
Until there is a way to tell the IDE to not define __FPU_PRESENT for CMSIS_5, please use this with caution.
When you set Project Options->Libraries->CMSIS 5 CMSIS-[CORE|DSP] Library to Yes, the build environment adds a -D__FPU_PRESENT to the c compiler command which ends up being a redefinition of __FPU_PRESENT which is in STM32F411xE.h and similar ST header files.
To fix this, I looked at the <ProjectName>.ind file in the output directory which contains the list of files the linker is supposed to use. Found the CMSIS library file - in my case it was: arm_cortex_math_v7em_fpv4_sp_d16_hard_t_le_eabi.a and added the path to it: $(PackagesDir)/CMSIS_5/CMSIS/Lib/ES/arm_cortex_math_v7em_fpv4_sp_d16_hard_t_le_eabi.a to Project Options->Linker-Additional Input Files.
Then I set Project Options->Libraries->CMSIS 5 CMSIS-[CORE|DSP] Library to use Inhereted value which is No. Since these options are set to No, the IDE doesn't add a -D__FPU_PRESENT to the c compiler command which resolves the redefinition issue.
Until there is a way to tell the IDE to not define __FPU_PRESENT for CMSIS_5, please use this with caution.