在使用cmake构建的项目中运行rake

时间:2013-07-05 07:10:07

标签: cmake fortran

我正在尝试构建一个使用Fruit进行单元测试的fortran项目。基本上,我有一个fortran模块源文件,其中包含一些名为test_something的子程序,然后我想运行一个调用Fruit的Rakefile来生成一个运行所有测试的fortran程序源文件。水果为此目的使用耙子,所以不使用耙子对我来说不是一个真正的选择。

我已经包含了这些命令,告诉cmake期望生成这些文件:

set_source_files_properties(fruit_driver_gen.f90 PROPERTIES GENERATED true)
set_source_files_properties(fruit_basket_gen.f90 PROPERTIES GENERATED true)

然后我有一个自定义命令来运行rake:

add_custom_command(    
   OUTPUT fruit_driver_gen.f90 fruit_basket_gen.f90
   COMMAND rake gen
   DEPENDS Rakefile)

Rakefile只是一个需要复制到执行自定义命令的文件夹的文件,但是它已将其注册为目标,因此我尝试将其添加为自定义目标,如下所示:

add_custom_target(Rakefile SOURCES "${PROJECT_SOURCE_DIR}/Rakefile}")

当我运行cmake时,我收到以下错误:

CMake Error at tests/CMakeLists.txt:20 (add_custom_target):
  Cannot find source file:

    ~/Fruit_example/tests/Rakefile}

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx

我做错了吗?是否有更优雅的方式来实现我想要的东西?我本质上是试图制作cmake副本并运行一个脚本来生成一些输出,我想我不可能是唯一一个尝试这样做的人,即使使用Fortran和Fruit也许并不常见。

0 个答案:

没有答案