记使用一次cmake

本文在前提为:假设你已经安装过cmake

最基础最简单的模板

  • 在想要编译的代码的当前目录下新建一个CMakeLists.txt
    里面填写(#为注释)
#cmake最低版本需求,不加入此行会受到警告消息
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
#项目名称
PROJECT(server) 
#将""中的文件一起编译生成可执行文件server 
ADD_EXECUTABLE(${PROJECT_NAME} "main.cc" "channel.cc" "channel.h" "buffer.cc" "buffer.h" "EventLoop.cc" "EventLoop.h")
#编译时加入其他程序库
set(CMAKE_CXX_FLAGS "-g -std=c++11 -lpthread")                                 
~                                                  
  • 在当前目录下新建一个目录build
    mkeir build
  • 进入bulid目录,执行cmake
    cd build
    cmake ..
    效果图为:
    记使用一次cmake_第1张图片
    在 /build 目录下的文件为:
    在这里插入图片描述
  • 执行 make,生成可执行文件server
    make
    记使用一次cmake_第2张图片
  • 执行生成的可执行文件,即可完成编译运行程序
    ./server

源代码分布情况

.
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   │   ├── 3.11.2
│   │   │   ├── CMakeCCompiler.cmake
│   │   │   ├── CMakeCXXCompiler.cmake
│   │   │   ├── CMakeDetermineCompilerABI_C.bin
│   │   │   ├── CMakeDetermineCompilerABI_CXX.bin
│   │   │   ├── CMakeSystem.cmake
│   │   │   ├── CompilerIdC
│   │   │   │   ├── a.out
│   │   │   │   ├── CMakeCCompilerId.c
│   │   │   │   └── tmp
│   │   │   └── CompilerIdCXX
│   │   │       ├── a.out
│   │   │       ├── CMakeCXXCompilerId.cpp
│   │   │       └── tmp
│   │   ├── cmake.check_cache
│   │   ├── CMakeDirectoryInformation.cmake
│   │   ├── CMakeOutput.log
│   │   ├── CMakeTmp
│   │   ├── feature_tests.bin
│   │   ├── feature_tests.c
│   │   ├── feature_tests.cxx
│   │   ├── Makefile2
│   │   ├── Makefile.cmake
│   │   ├── progress.marks
│   │   ├── server.dir
│   │   │   ├── build.make
│   │   │   ├── cmake_clean.cmake
│   │   │   ├── CXX.includecache
│   │   │   ├── DependInfo.cmake
│   │   │   ├── depend.internal
│   │   │   ├── depend.make
│   │   │   ├── flags.make
│   │   │   ├── link.txt
│   │   │   ├── main.cc.o
│   │   │   └── progress.make
│   │   └── TargetDirectories.txt
│   ├── cmake_install.cmake
│   ├── Makefile
│   └── server
├── CMakeLists.txt
├── main.cc
├── Channel.cc
├── Channel.h
├── buffer.cc
├── buffer.h
├── EventLoop.cc
├── EventLoop.h
└── README.md


你可能感兴趣的:(网络编程,服务器配置,liunxc)