Файлы ресурсов CMake и Visual Studio - PullRequest
7 голосов
/ 18 ноября 2011

Я конвертирую проект C ++, созданный с использованием Visual Studio 2005, в CMake и натолкнулся на небольшую проблему с файлами ресурсов, которые включены в проект.

Проект включает файл .rc, набор файлов .ico и файл .rc2.

Обычный файл .rc отлично работает в сгенерированном проекте и использует компилятор ресурсов. Однако файлы .ico и .rc2 вызывают проблемы, когда они просто включаются, потому что в сгенерированном проекте Visual Studio пытается скомпилировать их с помощью компилятора C / C ++.

Я предполагаю, что эти файлы включены в файл .rc, поэтому, вероятно, будет полезно просто не включать их в файл CMakeLists.txt, но, поскольку их можно перечислить в проекте (они видны в исходном проекте) Я хотел бы сделать это, чтобы пользователь сгенерированного проекта мог видеть, что эти файлы используются.

Как правильно обрабатывать эти дополнительные файлы ресурсов VS в CMake?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

Попробуйте set_source_files_properties(your.ico your.rc2 PROPERTIES LANGUAGE RC).

1 голос
/ 01 июня 2015

По умолчанию он ничего не должен делать с этими файлами.Свойство исходного файла LANGUAGE должно быть пустым, поэтому действие для файла должно проверяться по типу файла.Это не должно быть чем-то, поскольку это не то, что должно компилироваться.

Проверьте ваш файл CMakeLists.txt, который не содержит команду set_source_files_properties, которая будет связываться с этим свойством.

Если вы хотитеЧтобы сделать что-то с файлами, вот два способа сделать это:

С помощью add_custom_target вы можете добавлять их и запускать для них собственные команды при сборке проекта.Разумеется, файлы изменились.

С помощью configure_file вы можете легко скопировать их в каталог сборки, если это необходимо.С флагом COPYONLY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...