Windows上的忍者:在#define中公开文件的文件名

时间:2018-08-28 15:18:59

标签: windows cmake ninja

我正在一个跨平台项目中,我们在Linux,macOS和Windows上使用CMake构建多个库。

在我们的POSIX(Linux / macOS)构建中,我们在CMake中使用一个简单的定义:

.HTMLBody = "Bonjour," & "<br>" & "<br>" _
            & "<ul>" & "<li>" & message1 & "</li>" & "<li>" & message2 _
             & "</li>" & "</ul>"

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFILENAME='\"$(notdir $<)\"'") 实际上是notdir的功能。不幸的是,在Windows上没有make等效项,我们正在使用ninja来构建基于Windows的版本。

是否有类似的方法可以为基于Windows的构建公开make?我检查了Ninja Manual,但找不到解决方法。

切换到MSBuild并不是一种选择,因为我们依靠FILENAME功能来对某些版本的代码进行预处理(主要是C89兼容性)。

0 个答案:

没有答案