ubuntu - CMAKE 调用系统命令
问题描述
cmake_minimum_required(VERSION 2.8.9)
project(XXXXPack_Installation)
add_custom_command(
OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/XXXXPack.32.0/config.status"
DEPENDS unZip
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_BINARY_DIR}/XXXXPack.32.0 ./configure
COMMENT "Configuring using Autotools"
)
add_custom_command(
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/XXXXInstallation_genfile
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/XXXXPack.32.0/config.status
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_BINARY_DIR}/XXXXPack.32.0 make
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_BINARY_DIR}/XXXXPack.32.0 make install
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_BINARY_DIR}/XXXXPack.32.0 make samples
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_BINARY_DIR}/XXXXPack.32.0 make config
COMMAND ${CMAKE_COMMAND} -E echo Running: ldconfig
COMMAND
${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/XXXXInstallation_genfile
COMMENT "Compiling & Installing XXXX"
)
add_custom_target(makedlu ALL
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/XXXXPack.32.0/config.status
${CMAKE_CURRENT_BINARY_DIR}/XXXXInstallation_genfile
COMMAND
${CMAKE_COMMAND} -E echo XXXX for custom target generated
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}
VERBATIM
)
你好,
上面的 cmake 编译并安装了一个包,我无法在上述命令的帮助下执行一些 post bulid 步骤,如 ldconfig、adduser、usermod、chown、chmod 等。我试图像这样调用 ldconfig
COMMAND ${CMAKE_COMMAND} -E ldconfig
它抛出错误。如何使用 cmake 完成上述 ldconfig、adduser、usermod、chown、chmod 等步骤。我尝试添加外部 shell 脚本并执行它,但它也不起作用,cmake 执行没有任何错误,但 shell 脚本中的命令没有带来任何效果。
解决方案
推荐阅读
- magento - 为特定属性组中的属性添加新的输入文件 - Magento 2.3
- python - opencv扭曲图像中2点的欧几里得距离
- vb.net - 我如何使用 Windows 应用程序 vb.net 存储和连接访问数据库/文件
- excel - 使用日期选择器将数据从 Excel 工作表过滤到用户表单中的列表框
- csv - 当csv文件有cr和lf时如何加载到hive
- .net-core - 无法通过 dotnet build 命令编译模板 C++/CLI (.NET Core 3.1) 项目
- python - 透明度变成橄榄绿
- nginx - SignalR SSL 信任问题与 Android 的反向代理(Nginx)
- android - 为 Xamarin 绑定 .Jar 库
- php - 当我尝试创建索引时,Docker + elasticsearch 总是返回“在集群中找不到活动节点”