首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在CMake中拥有多个二进制目录?

在CMake中拥有多个二进制目录可以通过以下步骤实现:

  1. 首先,在CMakeLists.txt文件中定义多个二进制目录变量。例如,我们可以定义两个目录变量:BIN_DIR1和BIN_DIR2。
代码语言:cmake
复制

set(BIN_DIR1 ${CMAKE_BINARY_DIR}/bin1)

set(BIN_DIR2 ${CMAKE_BINARY_DIR}/bin2)

代码语言:txt
复制
  1. 接下来,使用add_executable或add_library命令来创建可执行文件或库文件,并将它们输出到相应的二进制目录中。
代码语言:cmake
复制

add_executable(myapp1 main1.cpp)

set_target_properties(myapp1 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_DIR1})

add_executable(myapp2 main2.cpp)

set_target_properties(myapp2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_DIR2})

代码语言:txt
复制

在上述示例中,myapp1可执行文件将被输出到BIN_DIR1目录,而myapp2可执行文件将被输出到BIN_DIR2目录。

  1. 最后,使用install命令将二进制文件安装到指定的目录中。这样可以方便地将生成的二进制文件部署到其他机器上。
代码语言:cmake
复制

install(TARGETS myapp1 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin1)

install(TARGETS myapp2 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin2)

代码语言:txt
复制

在上述示例中,myapp1可执行文件将被安装到bin1目录,而myapp2可执行文件将被安装到bin2目录。

通过以上步骤,我们可以在CMake中拥有多个二进制目录,并将不同的可执行文件或库文件输出到相应的目录中。这样可以更好地组织和管理项目中的二进制文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 5.7打补丁—编译和官方一致的Linux_Generic包

    MySQL 5.7.21二进制包下载地址:(https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz) MySQL 5.7.21源码仓库github地址:(https://github.com/mysql/mysql-server/tree/mysql-5.7.21) MySQL 5.7的手册中"根据源码安装MySQL:(https://dev.mysql.com/doc/refman/5.7/en/source-installation.html)"章节中有如下内容,可参考"docs/INFO_BIN"文件中的内容获取官方编译时的环境信息: If you are interested in building MySQL from a source distribution using build options the same as or similar to those use by Oracle to produce binary distributions on your platform, obtain a binary distribution, unpack it, and look in the docs/INFO_BIN file, which contains information about how that MySQL distribution was configured and compiled. 解压安装包查看"docs/INFO_BIN"文件,可看到一系列的编译相关信息,其中kernel和cmake版本信息如下: Build was done on Linux-3.8.13-16.2.1.el6uek.x86_64 using x86_64 Build was done using cmake 2.8.12 根据kernel命名,可确定MySQL官方用的是Oracle Linux操作系统,对应的版本是6.5。镜像及下载地址如下: (https://mirrors.kernel.org/oracle/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso) 在virt-manager(基于kvm的虚拟化)创建的虚拟机上安装操作系统,安装期间提示hardwarre不受支持。忽略错误强制安装操作系统后,启动失败。

    01

    ClangSharp依赖的动态库编译

    Clangen使用 ClangSharp解析头文件来完成一些中间代码的生成(如Rpc的注册代码, 桩代码, C++类导出到Lua的代码等). 而ClangSharp本身依赖了llvm, 以及自己的一个libClangSharp的库, windows和linux下需要编译一下llvm和这个库, 一般来说系统没变的情况下, 直接使用已经编译好的libclang.so/dll即可, 但有些时候遇到需要升级llvm到高版本的情况, 比如说我们之前碰到的情况 , llvm9在linux下运行速度异常(Windows下10S的流程, 在linux下处理同样的任务要快3分钟, 最后发现可能之前编译使用的是debug版本), 我们需要编译LLVM, 并且编译依赖llvm的libClangSharp, 官方文件比较简单, 而且配置项有一些问题, 可能导致不能正常编译, 所以这里记录下过程方便后续有相关需求的时候可以参照处理.

    02
    领券