Ниндзя в Windows: раскрыть имя файла в файле #define - PullRequest
0 голосов
/ 28 августа 2018

Я работаю над кроссплатформенным проектом, в котором мы создаем несколько библиотек с CMake для Linux, macOS и Windows.

В наших сборках POSIX (Linux / macOS) мы используем простое определение в CMake:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFILENAME='\"$(notdir $<)\"'")

notdir на самом деле является функцией make. К сожалению, в Windows нет эквивалента make, и мы используем ninja для сборки наших сборок на базе Windows.

Существует ли аналогичный способ предоставления FILENAME для наших сборок на базе Windows? Я проверил Руководство по ниндзя , но не смог найти решение.

Переключение на MSBuild не является вариантом, потому что мы используем CMAKE_C_COMPILER_LAUNCHER -функцию для предварительной обработки кода для некоторых сборок (в основном совместимость с C89).

...