为使用C和Haskell的项目构建系统
我正在从事一个使用C和Haskell的项目。目前,我正在使用CMake构建一个C共享库,使用cabal构建一个Haskell可执行文件。有没有更统一的方法来实现这一点?我可以从CMake生成的Makefile调用cabal吗?或者有没有一种方法可以直接从cabal构建C库?谢谢。CMake也可以做你想做的事。然而,它确实复制了阴谋集团的许多功能。因此,您可以从您选择使用的任何构建工具调用cabal(对于cmake,使用自定义命令,对于makefiles,这是非常不言自明的),直接构建二进制文件(请参阅cabal build-v)为使用C和Haskell的项目构建系统,c,haskell,cmake,cabal,C,Haskell,Cmake,Cabal,我正在从事一个使用C和Haskell的项目。目前,我正在使用CMake构建一个C共享库,使用cabal构建一个Haskell可执行文件。有没有更统一的方法来实现这一点?我可以从CMake生成的Makefile调用cabal吗?或者有没有一种方法可以直接从cabal构建C库?谢谢。CMake也可以做你想做的事。然而,它确实复制了阴谋集团的许多功能。因此,您可以从您选择使用的任何构建工具调用cabal(对于cmake,使用自定义命令,对于makefiles,这是非常不言自明的),直接构建二进制文件(
请参阅。您真的需要C库吗?您可以通过Cabal直接指定C源文件,它们将被编译并链接到您的项目中。我正在开发一种编程语言,将源代码编译为C作为中间语言。解析器和C代码生成器是用Haskell编写的。C中间代码通过管道传输到systems C编译器,该编译器链接到共享库。因此,库和可执行文件是分离的实体;我不需要将haskell的东西与库链接。您可以在cabal文件中指定自定义构建模式,只需在cabal构建期间的适当时间运行cmake(可能是在haskell包构建之前或之后)。请参阅的文档。您只需要在CMake中创建自定义命令来调用Cabal。见: