Я хотел бы отключить оптимизацию одного файла * .cpp в моем проекте CMake. Я узнал, что CMake обеспечивает следующее:CMake: как отключить оптимизацию одного файла * .cpp?
SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -O0)
Однако, похоже, это не работает для меня. Я генерирую проект Visual Studio 2013, и всякий раз, когда я перехожу к «Release» или «RelWithDebInfo», он все еще полностью оптимизирует этот файл, как это видно из свойств.
Имеет ли значение, где находится вышеуказанная команда? У меня есть несколько файлов cmake, распространяемых по всему проекту. Я поместил указанную выше команду непосредственно в файл cmake, где файл * .cpp добавлен в проект.
Или есть ли другой способ сообщить CMake, что этот файл не должен оптимизироваться вообще?
Должно работать. Команда должна быть помещена в один и тот же файл cmake, где вызывается 'add_executable()'/'add_library()'. См. Также документацию для [set_source_files_properties] (https://cmake.org/cmake/help/v3.0/command/set_source_files_properties.html) – Tsyvarev
Это добавит -O0 к параметрам компиляции, но если компиляция будет выпущена, вы закончите с -O0 и -O3 в командной строке? –