【问题标题】:Creating automated makefile to build two targets创建自动生成文件以构建两个目标
【发布时间】:2013-04-20 12:28:04
【问题描述】:

我一直在寻找这个已经有一段时间了,我需要一个工具来为我的项目自动创建一个 makefile 我见过 qmake 和 cmake,问题是我有两个目标(客户端和服务器),它们都使用一个公共库(我写的),我希望它为我创建两个目标,cmake 和 qmake 不这样做这 太棒了

【问题讨论】:

  • 我可以用cmake手动完成,我想要一个自动化工具,如果有的话:D
  • Makefile 可以包含许多目标。你到底想做什么?

标签: makefile cmake qmake


【解决方案1】:
set(servers_srcs
    server.cpp
    foo.cpp
    bar.cpp
)

set(client_srcs
    client.cpp
    xyz.cpp
    abc.cpp
)
set(library_srcs
    lib.cpp
)

add_library(library ${library_srcs})
add_executable(client ${client_srcs})
target_link_libraries(client library)
target_link_libraries(server library)

这会自动创建您的 Makefile,其中包含三个目标:客户端服务器和库。

【讨论】:

  • 我知道 :D 如果我有太多文件(我有)并且我学习计算机工程,这个过程需要时间来编写这个 CMakeLists.txt,我有很多需要适当的计算机作业Makefile,我正在寻找一个自动化工具来创建这个 CMakeLists.txt
  • 好吧,我不知道有什么工具可以自动编写 CMakeLists.txt 文件,而且我怀疑它是否存在:如果有人要编写一个工具,以某种方式从代码中推断出你想要的目标,我猜他们会让它生成一个Makefile。无论如何,如果你有很多源文件,你可以使用 glob 模式:file(GLOB client_srcs "client/*.cpp")
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
相关资源
最近更新 更多