• cmake常用命令学习


    1.include

    https://blog.csdn.net/qq_38410730/article/details/102677143

    CmakeLists.txt才是cmake的正统文件,而.cmake文件是一个模块文件,可以被includeCMakeLists.txt中。

    include指令一般用于语句的复用,也就是说,如果有一些语句需要在很多CMakeLists.txt文件中使用,为避免重复编写,可以将其写在.cmake文件中,然后在需要的CMakeLists.txt文件中进行include操作就行了。

    include(file|module)

    .cmake文件里包含了一些cmake命令和一些宏/函数,当CMakeLists.txt包含该.cmake文件时,当编译运行时,该.cmake里的一些命令就会在该包含处得到执行,并且在包含以后的地方能够调用该.cmake里的一些宏和函数。

    之后有机会再了解什么事宏和函数。

    2.protobuf_generate_cpp

    protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto)

    将foo.proto文件生成源码,使用PROTO_SRC,PROTO_HARS变量分别指代生成的cpp和h文件并可用于连接到target和设置include。

    要求protobuf_generate_cpp命令和生成add_executable() 或 add_library() 的命令必须在同一个CMakeList中.

     3.file命令

    https://www.cnblogs.com/fnlingnzb-learner/p/7221648.html

    file(GLOB variable [RELATIVE path] [globbingexpressions]...)

     GLOB 会产生一个由所有匹配globbing表达式的文件组成的列表,并将其保存到变量中。(relative path这个好像不常用?可以忽略。如果指定了RELATIVE 标记,返回的结果将是与指定的路径相对的路径构成的列表。)

    如果没有写正则表达式,那么什么文件都匹配不到。例子:

    file(GLOB files  *)
    foreach(file IN LISTS files)
        message(STATUS ${file})
    endforeach(file)

    这段代码的意思是挑选出当前文件下的所有文件,然后打印。

  • 相关阅读:
    C#操作XML
    Eval调用函数
    SQL 日期时间函数
    vue中created和mounted区别
    记录uniapp的APP端分享到微信好友,链接为小程序页面,分享失败的BUG
    【News】Windows CE会死吗?答,死不了,只是变身了。
    【原创】工作总结
    【原创】工作总结之二
    【资源收集】关于WINCE网卡开发的知识收集
    【news】wince 7 preview release。大家可以去看看
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/16560120.html
Copyright © 2020-2023  润新知