使用本地makefile进行CLion而不是CMake

时间:2014-11-13 21:09:44

标签: makefile clion

有没有办法配置CLion使用本地makefile来编译代码,而不是CMake?我似乎无法从构建选项中找到方法。

6 个答案:

答案 0 :(得分:131)

即使目前仅支持CMake,您也可以指示CMake使用您的自定义make致电Makefile。编辑CMakeLists.txt添加以下两个命令之一:

当您告诉CLion运行程序时,它会尝试在PROJECT_BINARY_DIR指向的目录中找到与目标名称相同的可执行文件。因此,只要您的make生成CLion期望的文件,就没有问题。

这是一个有效的例子:

告诉CLion将其$(PROJECT_BINARY_DIR)传递给make

这是示例CMakeLists.txt

cmake_minimum_required(VERSION 2.8.4)
project(mytest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
                         CLION_EXE_DIR=${PROJECT_BINARY_DIR})

告诉make在CLion's目录

中生成可执行文件

这是示例Makefile

all:
    echo Compiling $(CLION_EXE_DIR)/$@ ...
    g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest

就是这样,您可能还想更改程序的工作目录,以便在您从目录中运行make时执行它。对于此修改:Run -> Edit Configurations ... -> mytest -> Working directory

答案 1 :(得分:23)

虽然这是投票最多的feature requests之一,但plugin提供了一个Victor Kropp,它增加了对makefile的支持:

Makefile support plugin for IntelliJ IDEA

安装

您可以直接从官方存储库安装:

设置>插件>搜索makefile>在存储库中搜索>安装>重新启动

使用

至少有三种不同的运行方式:

  1. 右键单击生成文件,然后选择运行
  2. 在编辑器中打开makefile,将光标放在一个目标上(行上的任何位置),点击 alt + 输入,然后选择 make < EM>靶
  3. 在目标上点击 ctrl / cmd + shift + F10 (虽然这个没有&#39;在Mac上为我工作。)
  4. 它会打开一个名为运行 目标 的窗格和输出。

答案 2 :(得分:6)

最新版本可以更好地支持已编译的所有生成的Makefile,

三个步骤:

  1. 安装已编译b

    pip install compiledb
    
  2. 干干

    compiledb -n make 
    

    (执行自动生成,必要时进行配置)

  3. 将生成一个compile_commands.json文件 打开项目,您将看到CLion将从json文件加载信息。 如果您的CLion仍然尝试找到CMakeLists.txt而无法读取compile_commands.json,请尝试删除整个文件夹,重新下载源文件,然后重做步骤1,2,3

原始帖子:Working with Makefiles in CLion using Compilation DB

答案 3 :(得分:2)

要完全避免使用CMAKE,您只需:

  1. 通常通过终端使用Make来构建项目。

  2. 更改CLion配置,转到(在顶部栏中):
    Run -> Edit Configurations -> yourProjectFolder

  3. Executable更改为使用Make生成的那个

  4. Working directory更改为保存可执行文件的文件夹(如果需要)

  5. 删除Build框中的Before launch:Activate tool window任务

您都准备好了!现在,您可以在手动构建后使用调试按钮。

答案 4 :(得分:1)

目前,CLion仅支持CMake。其他构建系统将在未来添加,但目前,您只能使用CMake。

已实施导入工具以帮助您使用CMake。

修改

来源:http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/

答案 5 :(得分:1)

我对CMake不是很熟悉,也不能直接使用Mondkin的解决方案。

以下是我在CMakeLists.txt中使用最新版本的CLion(1.2.4)和MinGW在Windows上提出的内容(我猜您只需要替换所有内容:     g ++ mytest.cpp -o bin / mytest by make如果你没有使用相同的设置):

cmake_minimum_required(VERSION 3.3)
project(mytest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

自定义Makefile是这样的(它位于我项目的根目录并在bin目录中生成可执行文件):

all:
    g++ mytest.cpp -o bin/mytest

我能够构建可执行文件,并且可以单击日志窗口中的错误。

IDE中的提示非常有限,与纯CMake项目相比这是一个很大的限制......