我正在将构建脚本从premake4更新为较旧版本的premake5,没有“工作区”概念,但仍然是“解决方案”。
当我运行premake时,我有自定义选项来构建两个vs2015解决方案A和B:
premake5.exe --A --B vs2015
我希望B中的项目能够引用A(ProjectReference)中的项目。 但它似乎找不到任何项目A,我想知道是否因为项目A只在解决方案B内搜索,而不是A。
使用premake4,我们还调用了函数“vc2010.projectReferences” 内置premake.findproject的“premake.getdependencies”。
但是使用premake5,“findproject”似乎是在当前解决方案/工作区的范围内调用的(premake.solution(/ workspace).findproject(cfg.solution,depproj))
这是否意味着如果没有相同的解决方案,我无法将项目B与项目A链接? 我是否必须使用“外部”api?
答案 0 :(得分:0)
Premake的links()功能仅适用于同一解决方案中的项目。但您可以使用externalproject()链接不属于解决方案的项目。
externalproject "MyExternalProject"
location "build/MyExternalProject"
uuid "57940020-8E99-AEB6-271F-61E0F7F6B73B"
kind "StaticLib"
language "C++"