cmake设置Debug版本和Release版本的输出路径

项目背景:指定可执行文件和动态库输出路径都在bin目录文件夹下,由于项目中存在osg插件,然后我在项目中需要重写osg的插件,这时候就会遇到指定输出路径的问题,由于需要输出到osgPlugins-3.6.5文件夹下,所以使用默认的输出方式不行。
在这里插入图片描述
使用的方法

set_target_properties(${target_name} PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/osgPlugins-3.6.5"  # 设置Debug版本的输出路径
    RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/osgPlugins-3.6.5"  # 设置Release版本的输出路径
)

设置输出路径的属性。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android Studio 中,CMake 的构建目录(即 `${PROJECT_BINARY_DIR}`)默认是在 `app` 模块的 `build` 目录下的 `.cxx` 目录中。因此,如果您在构建项目之前没有手动创建 `build` 目录,那么该目录可能不存在,导致 `${PROJECT_BINARY_DIR}` 输出为空。 要解决这个问题,可以手动创建 `build` 目录,并在 `app` 模块的 `build.gradle` 文件中配置 CMake 的构建目录。例如,以下是一个简单的 `build.gradle` 文件,其中配置了 CMake 的构建目录: ```gradle apply plugin: 'com.android.application' android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.myapplication" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" // 配置 CMake 构建目录 externalNativeBuild { cmake { // 请根据您的实际情况修改此路径 path "CMakeLists.txt" // 指定构建目录为 app/build/intermediates/cmake/debug/obj // 其中 debug 可以替换为 release buildStagingDirectory "intermediates/cmake/debug/obj" } } } // 配置支持的 ABI defaultConfig { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } } // 配置使用 CMake externalNativeBuild { cmake { version "3.10.2" } } ``` 在这个例子中,我们通过 `externalNativeBuild` 配置了 CMake路径,并通过 `defaultConfig` 的 `externalNativeBuild` 配置了 CMake 的构建目录。注意,我们需要在 `buildTypes` 和 `defaultConfig` 中都配置 `externalNativeBuild`,以确保 CMake 能够正确地工作。 在这种情况下,CMake 的构建目录会自动设置为 `app/build/intermediates/cmake/${variant}/obj`,其中 `${variant}` 是当前的构建变体(例如,`debug` 或 `release`)。 在 CMakeLists.txt 中,您可以使用 `${PROJECT_BINARY_DIR}` 来引用构建目录。例如,以下是一个简单的 `CMakeLists.txt` 文件,其中使用了 `${PROJECT_BINARY_DIR}`: ```cmake cmake_minimum_required(VERSION 3.10.2) project(MyApp CXX) # 输出构建目录 message(STATUS "Build directory: ${PROJECT_BINARY_DIR}") ``` 在这个例子中,我们使用 `message` 命令输出构建目录。注意,我们使用的是 `${PROJECT_BINARY_DIR}`,而不是 `Project_BINARY_DIR`。`${PROJECT_BINARY_DIR}` 是 CMake 内置的变量之一,表示项目的构建目录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值