如何使用cmake链接外部库?

时间:2016-06-12 22:19:19

标签: c++ linker cmake

我正在尝试使用CMake构建一个项目。项目所需的库之一位于项目目录之外的路径上。头文件分散在子目录和文件夹的根目录中。有点像这样:

/some_remote_path/packages/BOOX/
               |-> foo.h
               |-> banana.h
               |-> orange.h
               |-> timer
                     |-> lib0.h
                     |-> lib1.h
                     |-> lib2.h
               |-> types
                     |-> type0.h
                     |-> type1.h
                     |-> type2.h
               ...

我正在尝试使用以下命令链接这些:

include_directories (${SOME_OTHER_LIB_HEADERS} ${BOOX_HEADERS})

如何将所有标题存储到${BOOX_HEADERS}变量中?我尝试了许多利用GLOB_RECURSE功能的各种宏:

FILE(GLOB_RECURSE ${BOOX_HEADERS} ${path_to_boox_lib} *.h)

但没有任何成功。我想跳过编写一个复杂的find.cmake脚本。这会帮助我(可能?)生成类似$ {BOOX_INCLUDE_DIRS}的东西。简单地构造头列表并使用CMake将其传递给编译器的最佳解决方案是什么。

1 个答案:

答案 0 :(得分:0)

  

我正在尝试使用以下命令链接这些:

你是否包含了你给出的命令的标题,你还需要如何定义具有<ion-item *ngFor="let menu of jsonMenu"> <!-- title --> <div class="khungtieude"> <span class="tieudechinh">{{menu.title}}</span> <span class="gachgiua"></span> </div> <!-- arrows --> <div class="arrow-container" [hidden]="!(menu.contains.length > 1)"> <ion-icon class="arrow-back" name="ios-arrow-back"></ion-icon> <ion-icon class="arrow-forw" name="ios-arrow-forward"></ion-icon> </div> <!-- slide --> <!-- using template instead of fix code, i will add later --> <ion-slides loop> <!-- page 1 of side --> <!-- i need loop in total/3 + (total%3==0? 0 : 1) --> <ion-slide *ngFor="let temp of menu.contains"> <ion-row style="padding-top: 10px;"> <ion-col width-33 center *ngFor="let menuItem of temp.page" (click)="itemClick(menuItem.moduleId)"> <span class="icon-cknb main-menu-ic"></span> <br/> <div class="main-menu-text"> {{menuItem.displayName}} </div> </ion-col> </ion-row> </ion-slide> </ion-slides> </ion-item> 的库的LIB路径