首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeLite cmake输出目录配置

CodeLite cmake输出目录配置
EN

Stack Overflow用户
提问于 2018-06-23 08:09:37
回答 1查看 808关注 0票数 0

我在项目设置中配置输出路径时遇到了一个小问题。我希望CodeLite将二进制文件放到一个基于配置的名为的文件夹中,并放在其中一个名为bin的文件夹中,但在我的生命周期中,我无法让它工作。我只是简单地在项目设置中的general下更改了每个路径和文件名(我只使用了$(ProjectPath)等宏)。在运行CMake之后,它总是将所有内容放在一个名为cmake-build-Configuration (调试或发布)的文件夹中。我用谷歌搜索了很多,也许我只是找不到正确的搜索短语,我也看过维基,但在那里找不到任何可以为我指明正确方向的东西。我的项目CMakeLists.txt如下所示:

代码语言:javascript
复制
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-

cmake_minimum_required(VERSION 2.8.11)

project(main)

# Define some variables
set(PROJECT_PATH "${CMAKE_SOURCE_DIR}/main")



#{{{{ User Code 1
# Place your code here
#}}}}

include_directories(
    .
    .

)


# Compiler options
add_definitions(-ggdb)
add_definitions(-O0)
add_definitions(-Wall)
add_definitions(-std=c++14)

# Linker options


if(WIN32)
    # Resource options
endif(WIN32)

# Library path
set(CMAKE_LDFLAGS "${CMAKE_LDFLAGS} -L. ")

# Define the CXX sources
set ( CXX_SRCS
    ${CMAKE_SOURCE_DIR}/main/src/main.cpp
)

set_source_files_properties(
    ${CXX_SRCS} PROPERTIES COMPILE_FLAGS
    " -ggdb -O0 -Wall -std=c++14")

if(WIN32)
    enable_language(RC)
    set(CMAKE_RC_COMPILE_OBJECT
        "<CMAKE_RC_COMPILER> ${RC_OPTIONS} -O coff -i <SOURCE> -o <OBJECT>")
endif(WIN32)



#{{{{ User Code 2
# Place your code here
#}}}}

add_executable(main ${RC_SRCS} ${CXX_SRCS} ${C_SRCS})
target_link_libraries(main ${LINK_OPTIONS})



#{{{{ User Code 3
# Place your code here
#}}}}

这是工作区的CMakeLists.txt:

代码语言:javascript
复制
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-

cmake_minimum_required(VERSION 2.8.11)

# Workspace name
project(YoLoEngine)

# This setting is useful for providing JSON file used by CodeLite for code completion
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

# Set default locations
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)



#{{{{ User Code 1
# Place your code here
#}}}}

set(CONFIGURATION_NAME "Debug")



#{{{{ User Code 2
# Place your code here
#}}}}

# Projects
add_subdirectory(${CMAKE_SOURCE_DIR}/main)


#{{{{ User Code 3
# Place your code here
#}}}}

我不得不提到,我对CMake的知识非常非常有限,我今天才开始学习如何使用它,有几件事我不清楚。我没有尝试手动操作上面的文件,因为我想知道如何在CodeLite中进行设置。

我使用的是ubuntu18.04lts,我已经从ubuntu repo下载了带有apt的CodeLite,它的版本是10.0.0。

感谢您的帮助:)

编辑1:我想使用CodeLite的用户界面来设置它,而不是通过修改CMakeLists.txt文件。

EN

回答 1

Stack Overflow用户

发布于 2018-06-23 15:23:58

我建议使用此方法将您的二进制输出文件复制到某个地址:

在add_executable(...)之后只需添加以下内容:

代码语言:javascript
复制
set_target_properties(main PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/YOUROUTPUT)

代替YOUROUTPUT,你可以像你的项目名一样放入一些cmake变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50996866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档