我正在一个跨平台项目中,我们在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兼容性)。