Skip to content

Example project using cmake and git to manage cpp dependencies.

License

Notifications You must be signed in to change notification settings

iondex/cpp_cmake_git_example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp_cmake_git_example

参考:https://github.com/ttroy50/cmake-examples/

基础

  • CMakeLists.txt是CMake默认的保存CMake指令的地方,类似于Makefile
  • 一般在开头使用cmake_minimum_required(VERSION 3.5)指定最少需求的CMake版本。
  • 使用project(name)为项目定名,相应值将保存在${PROJECT_NAME}变量中。
  • 使用add_executable(main main.cpp)添加可执行文件,第一个参数是可执行文件名第二个参数是对应的源文件。
  • 两种编译方式:
    • In-Place:直接运行cmake,所有中间文件都会在当前目录生成。
    • Out-of-Place:推荐新建build/文件夹,并在该文件夹内运行cmake ..

分离src/include/

  • CMake相关变量
    • PROJECT_SOURCE_DIR:当前CMake工程的总目录,是CMakeLists.txt所在目录。
    • CMAKE_BINARY_DIR:生成的Binary所在的目录,是cmake命令运行的目录。
  • 添加源文件:
    • 使用set(SOURCES src/main.cpp src/Hello.cpp)将源文件赋给变量SOURCES(需要包含Binary用到的所有源文件)
    • 使用file(GLOB SOURCES /src/*.cpp)进行GLOB操作,将源文件列表赋给变量SOURCES
  • 添加Include路径:target_include_directories
    • 第一个参数为Binary名称,第二个参数为路径。第二个参数前需要添加Scope修饰符。
    • 注意这个命令需要在add_executable之前。

About

Example project using cmake and git to manage cpp dependencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published