Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CMake调用外部程序_Cmake_Thrift - Fatal编程技术网

使用CMake调用外部程序

使用CMake调用外部程序,cmake,thrift,Cmake,Thrift,我试图搜索CMake文档,但我不知道如何从CMake调用外部程序 我想做的事情很少 编译使用makefile的其他第三方依赖项 将定义文件编译为C++/Python存根。 编译定义文件 另一个问题是,处理这些案件的好方法是什么?当CMake中的“C”代表跨平台时,直接从CMake调用shell脚本感觉不那么干净 编辑:我有几个额外的问题。之前,在我的构建中,我预先构建了依赖项,项目本身使用FIND_包(…)来查找依赖项的头/库 现在,我正在使用ExternalProject_Add()编译依赖项

我试图搜索CMake文档,但我不知道如何从CMake调用外部程序

我想做的事情很少

  • 编译使用makefile的其他第三方依赖项
  • 将定义文件编译为C++/Python存根。
  • 编译定义文件
  • 另一个问题是,处理这些案件的好方法是什么?当CMake中的“C”代表跨平台时,直接从CMake调用shell脚本感觉不那么干净

    编辑:我有几个额外的问题。之前,在我的构建中,我预先构建了依赖项,项目本身使用FIND_包(…)来查找依赖项的头/库

    现在,我正在使用ExternalProject_Add()编译依赖项,但问题是,当我运行
    cmake.
    时,所有FindXYZ()函数都会失败,因为执行cmake时依赖项不存在

    在这种情况下,我应该如何在我的项目中包括第三方库


  • 2+3。可以使用CONFIGURE_命令/BUILD_命令/INSTALL_命令进行黑客攻击

    Wow,在发现ExternProject_Add()后,我对CMake的尊敬大大提高了。我很快会尝试其他东西。谢谢。然而,关于我的构建,我还有一些问题。如果可以的话,请您回答好吗?谢谢@我不确定我是否理解这个问题,你们能详细说明一下吗?我最终改变了我的makefile。基本上,FIND_PACKAGE()命令是在cmake生成makefiles时执行的。我曾经使用FIND_PACKAGE()为我的项目查找第三方库。但是,如果我开始使用ExternalPackage_Add(),则生成makefile后会生成第三方库。因此,cmake无法继续生成makefiles,因为它找不到find_PACKAGE()引用的依赖项。我刚刚删除了find_PACKAGE(),因为我控制外部包的编译方式,所以我确切地知道编译的头/库的位置。所以我只是引用了include_directories()和target_link_libraries()中的位置。