CMake - Code :: Blocks - hello world - 基本示例

hew*_*ewi 5 cmake codeblocks

我在哪里可以找到生成一个简单的CMake Hello World项目的指南,以便在CMake中加载?

平台:联想32bit Linux Kubuntu

1)我将使用git repo:

./git/CMakeLists.txt
./git/code/CMakeLists.txt
./git/code/hello-world.c
Run Code Online (Sandbox Code Playgroud)

文件中包含明显的内容

2)我会运行cmake

- pointing the source to the git repo indicated in 1
- configuring the repo
- generating the code-blocs-project (cbp) file in ./build
Run Code Online (Sandbox Code Playgroud)

3)所以我可以点击

- the cbp link in ./build
- compile the project in c::b and run a 
- very basic console program spitting out, you guessed it: "Hello stack overflowers!"
Run Code Online (Sandbox Code Playgroud)

Fra*_*ser 13

所以,只是为了确认文件的明显内容; 这就是我所拥有的:

~/devel/example $ tree .
.
??? build
??? git
    ??? CMakeLists.txt
    ??? code
        ??? CMakeLists.txt
        ??? hello-world.c

3 directories, 3 files

~/devel/example $ cat git/CMakeLists.txt 
cmake_minimum_required(VERSION 3.0)
project(Hello)
add_subdirectory(code)

~/devel/example $ cat git/code/CMakeLists.txt 
add_executable(hello hello-world.c)

~/devel/example $ cat git/code/hello-world.c 
#include <stdio.h>

int main() {
  printf("Hello stack overflowers!\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,运行CMake我做了:

~/devel/example $ cd build/
~/devel/example/build $ cmake ../git -G"CodeBlocks - Unix Makefiles"
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fraser/devel/example/build
~/devel/example/build $ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  code  Hello.cbp  Makefile
Run Code Online (Sandbox Code Playgroud)

您可以看到导致CodeBlocks项目文件(Hello.cbp)

如果现在在CodeBlocks中打开此项目(双击项目文件),您应该Hello在左窗格中看到该项目.

默认情况下,选择"所有"目标.它应该出现在GUI顶部的编译器工具栏的下拉框中.这将构建项目中指定的所有目标,但不是您可以运行的目标 - 您只能构建它.

可执行目标的名称是"hello",如CMake代码中所指定add_executable(hello hello-world.c).要运行可执行文件,请从前面提到的下拉框中选择"hello",然后单击同一工具栏中的"Build and run"图标.