【发布时间】:2021-06-23 02:41:13
【问题描述】:
我在 cmake 中有一个依赖于系统上安装的 libssh 的可执行文件。
我用这个来安装它:
sudo apt-get install -y libssh-dev
这是我的 Cmake:
cmake_minimum_required(VERSION 3.5.0)
project(validateTensor VERSION 0.0.1)
find_package(gflags QUIET)
add_executable(myapplication
"myapplication.cpp"
)
target_link_libraries(myapplication gflags teamApplication -lssh)
add_dependencies(myapplication teamApplication)
我的问题是如何在添加可执行文件之前使用 cmake 检查系统上是否安装了 libshh。如果未安装,那么我想从构建中排除可执行文件,但不会导致构建失败。
【问题讨论】:
-
字面意思是
find_library。不要在target_link_libraries中使用-l,直接放库。target_link_libraries(... ssh). -
@KamilCuk 谢谢,但我不完全理解。您的意思是使用
find_library检查是否安装了libssh?并将结果存储在一个变量中。但是我是否对target_link_libraries使用 if 语句?你有时间展示一个例子吗?
标签: cmake