I would like to disable the optimization of a single *.cpp file within my CMake project. I found out that CMake provides the following to achieve this:
SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -O0)
However, this seems not to work for me. I generate a Visual Studio 2013 Project and whenever I change to 'Release' or 'RelWithDebInfo' it still fully optimizes that file as can be seen under the properties.
Does it matter where the above command is placed? I have multiple cmake files distributed over the whole project. I placed the above command directly in the cmake file where the *.cpp file gets added to the project.
Or is there any other way to tell CMake that this file should not get optimized at all?
Thanks Tsyvarev!
Indeed I had to place the command in the cmake file where the according add_library() is contained in order to make it work.
But in addition there was also a small change I had to apply: Visual Studio needs -Od (instead of -O0) to disable optimization.
So the final command for Visual Studio builds looks like this:
SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -Od)
and this placed in the cmake file where the add_library() call is for that *.cpp file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With