您当前的位置: 首页 >  c++

phymat.nico

暂无认证

  • 1浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

c++构建工具之cmake使用小结

phymat.nico 发布时间:2017-11-08 12:50:00 ,浏览量:1

0.前言 使用cmake的过程先是要编写一个cmakelists.txt的文本,然后使用cmake命令生成对应平台的工程。 在windows下命令行或者使用cmake gui工具,生成vs工程,然后使用vs编译。 在linux下则是根据cmakelists.txt生成makefile,然后使用make命令调用编译。 cmake命令编译指定目录下的cmakelists.txt,具体选项使用cmake -h查看如下:
Usage

  cmake [options] 
  cmake [options] 

Specify a source directory to (re-)generate a build system for it in the
current working directory.  Specify an existing build directory to
re-generate its build system.

Options
  -C            = Pre-load a script to populate the cache.
  -D [:]=    = Create a cmake cache entry.
  -U            = Remove matching entries from CMake cache.
  -G           = Specify a build system generator.
  -T             = Specify toolset name if supported by
                                 generator.
  -A            = Specify platform name if supported by
                                 generator.
  -Wdev                        = Enable developer warnings.
  -Wno-dev                     = Suppress developer warnings.
  -Werror=dev                  = Make developer warnings errors.
  -Wno-error=dev               = Make developer warnings not errors.
  -Wdeprecated                 = Enable deprecation warnings.
  -Wno-deprecated              = Suppress deprecation warnings.
  -Werror=deprecated           = Make deprecated macro and function warnings
                                 errors.
  -Wno-error=deprecated        = Make deprecated macro and function warnings
                                 not errors.
  -E                           = CMake command mode.
  -L[A][H]                     = List non-advanced cached variables.
  --build                 = Build a CMake-generated project binary tree.
  -N                           = View mode only.
  -P                     = Process script mode.
  --find-package               = Run in pkg-config like mode.
  --graphviz=[file]            = Generate graphviz of dependencies, see
                                 CMakeGraphVizOptions.cmake for more.
  --system-information [file]  = Dump information about this system.
  --debug-trycompile           = Do not delete the try_compile build tree.
                                 Only useful on one try_compile at a time.
  --debug-output               = Put cmake in a debug mode.
  --trace                      = Put cmake in trace mode.
  --trace-expand               = Put cmake in trace mode with variable
                                 expansion.
  --warn-uninitialized         = Warn about uninitialized values.
  --warn-unused-vars           = Warn about unused variables.
  --no-warn-unused-cli         = Don't warn about command line options.
  --check-system-vars          = Find problems with variable usage in system
                                 files.
  --help,-help,-usage,-h,-H,/? = Print usage information and exit.
  --version,-version,/V []  = Print version number and exit.
  --help-full []            = Print all help manuals and exit.
  --help-manual  []    = Print one help manual and exit.
  --help-manual-list []     = List help manuals available and exit.
  --help-command  []   = Print help for one command and exit.
  --help-command-list []    = List commands with help available and exit.
  --help-commands []        = Print cmake-commands manual and exit.
  --help-module  []    = Print help for one module and exit.
  --help-module-list []     = List modules with help available and exit.
  --help-modules []         = Print cmake-modules manual and exit.
  --help-policy  []    = Print help for one policy and exit.
  --help-policy-list []     = List policies with help available and exit.
  --help-policies []        = Print cmake-policies manual and exit.
  --help-property  [] = Print help for one property and exit.
  --help-property-list []   = List properties with help available and
                                 exit.
  --help-properties []      = Print cmake-properties manual and exit.
  --help-variable var []    = Print help for one variable and exit.
  --help-variable-list []   = List variables with help available and exit.
  --help-variables []       = Print cmake-variables manual and exit.

Generators

The following generators are available on this platform:
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
  KDevelop3                    = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles   = Generates KDevelop 3 project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
1.生成执行程序
project(HELLO)
set(SRC_LIST main.c hello.c)
add_executable(hello ${SRC_LIST})
2.生成动态库
project(HELLO)
set(LIB_SRC hello.c)
add_library(libhello STATIC ${LIB_SRC})
3.生成静态库
project(HELLO)
set(LIB_SRC hello.c)
add_library(libhello SHARED ${LIB_SRC})
4.参考资料 http://blog.csdn.net/dbzhang800/article/details/6314073 http://blog.csdn.net/dbzhang800/article/details/6329068 https://cmake.org/cmake/help/v3.3/index.html http://blog.csdn.net/sjt19910311/article/details/51660209 http://blog.csdn.net/wzzfeitian/article/details/40963457
关注
打赏
1659628745
查看更多评论
立即登录/注册

微信扫码登录

0.0456s