我是靠谱客的博主 勤恳橘子,最近开发中收集的这篇文章主要介绍cmake学习文档——Hello Cmake (一)1.指定cmake最低版本3.创建可执行文件4.二进制目录,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
目录
1.指定cmake最低版本
2.项目
3.创建可执行文件
4.二进制目录
就地构建(In-Place Build)
外源构建(Out-of-Source Build) 建议使用该方法
1.指定cmake最低版本
cmake_minimum_required(VERSION 3.5)
2.项目
project (hello_cmake)
3.创建可执行文件
add_executable() 函数的
第一个参数是要构建的可执行文件的名称,第二个参数是要编译的源文件列表。
add_executbale (hello_cmake main.c)
##有些人使用的一种简写方式是让项目名称和可执行文件名称相同。这允许您指定CMakeLists.txt 如下
cmake_minimum_required ( VERSION 2.6)
project (hello_cmake)
add_executable( ${PROJECT_NAME} main.c)
在此示例中,project() 函数将创建一个值为 hello_cmake 的变量 ${PROJECT_NAME}。然后可以将其传递给 add_executable() 函数以输出“hello_cmake”可执行文件。
4.二进制目录
运行 cmake 命令的根或顶级文件夹称为 CMAKE_BINARY_DIR,是所有二进制文件的根文件夹。CMake 支持就地和源外构建和生成二进制文件。
就地构建(In-Place Build)
就地构建在与源代码相同的目录结构中生成所有临时构建文件。这意味着所有 Makefile 和目标文件都和源码穿插在一起。要创建就地构建目标,请在根目录中运行 cmake 命令。例如:
A-hello-cmake$ cmake .
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- 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
-- 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
-- Configuring done
-- Generating done
-- Build files have been written to: /home/matrim/workspace/cmake-examples/01-basic/A-hello-cmake
A-hello-cmake$ tree
.
├── CMakeCache.txt
├── CMakeFiles
│ ├── 2.8.12.2
│ │ ├── CMakeCCompiler.cmake
│ │ ├── CMakeCXXCompiler.cmake
│ │ ├── CMakeDetermineCompilerABI_C.bin
│ │ ├── CMakeDetermineCompilerABI_CXX.bin
│ │ ├── CMakeSystem.cmake
│ │ ├── CompilerIdC
│ │ │ ├── a.out
│ │ │ └── CMakeCCompilerId.c
│ │ └── CompilerIdCXX
│ │ ├── a.out
│ │ └── CMakeCXXCompilerId.cpp
│ ├── cmake.check_cache
│ ├── CMakeDirectoryInformation.cmake
│ ├── CMakeOutput.log
│ ├── CMakeTmp
│ ├── hello_cmake.dir
│ │ ├── build.make
│ │ ├── cmake_clean.cmake
│ │ ├── DependInfo.cmake
│ │ ├── depend.make
│ │ ├── flags.make
│ │ ├── link.txt
│ │ └── progress.make
│ ├── Makefile2
│ ├── Makefile.cmake
│ ├── progress.marks
│ └── TargetDirectories.txt
├── cmake_install.cmake
├── CMakeLists.txt
├── main.cpp
├── Makefile
外源构建(Out-of-Source Build) 建议使用该方法
外源构建允许您创建单个构建文件夹,该文件夹可以位于文件系统的任何位置。所有临时构建和目标文件都位于此目录中,以保持源代码树干净。要创建源外构建,请在构建文件夹中运行 cmake 命令,并将其指向包含根 CMakeLists.txt 文件的目录。如果您想从头开始重新创建您的 cmake 环境,则使用外源构建,您只需要删除您的构建目录,然后重新运行cmake。
A-hello-cmake$ mkdir build
A-hello-cmake$ cd build/
A-hello-cmake/build$ make ..
make: Nothing to be done for `..'.
matrim@freyr:~/workspace/cmake-examples/01-basic/A-hello-cmake/build$ cmake ..
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- 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
-- 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
-- Configuring done
-- Generating done
-- Build files have been written to: /home/matrim/workspace/cmake-examples/01-basic/A-hello-cmake/build
A-hello-cmake/build$ cd ..
A-hello-cmake$ tree
.
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ │ ├── 2.8.12.2
│ │ │ ├── CMakeCCompiler.cmake
│ │ │ ├── CMakeCXXCompiler.cmake
│ │ │ ├── CMakeDetermineCompilerABI_C.bin
│ │ │ ├── CMakeDetermineCompilerABI_CXX.bin
│ │ │ ├── CMakeSystem.cmake
│ │ │ ├── CompilerIdC
│ │ │ │ ├── a.out
│ │ │ │ └── CMakeCCompilerId.c
│ │ │ └── CompilerIdCXX
│ │ │ ├── a.out
│ │ │ └── CMakeCXXCompilerId.cpp
│ │ ├── cmake.check_cache
│ │ ├── CMakeDirectoryInformation.cmake
│ │ ├── CMakeOutput.log
│ │ ├── CMakeTmp
│ │ ├── hello_cmake.dir
│ │ │ ├── build.make
│ │ │ ├── cmake_clean.cmake
│ │ │ ├── DependInfo.cmake
│ │ │ ├── depend.make
│ │ │ ├── flags.make
│ │ │ ├── link.txt
│ │ │ └── progress.make
│ │ ├── Makefile2
│ │ ├── Makefile.cmake
│ │ ├── progress.marks
│ │ └── TargetDirectories.txt
│ ├── cmake_install.cmake
│ └── Makefile
├── CMakeLists.txt
├── main.cpp
翻译自:
cmake-examples/01-basic/A-hello-cmake at master · ttroy50/cmake-examples · GitHub
最后
以上就是勤恳橘子为你收集整理的cmake学习文档——Hello Cmake (一)1.指定cmake最低版本3.创建可执行文件4.二进制目录的全部内容,希望文章能够帮你解决cmake学习文档——Hello Cmake (一)1.指定cmake最低版本3.创建可执行文件4.二进制目录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复