gpt4 book ai didi

c++ - CMakeLists.txt结构

转载 作者:行者123 更新时间:2023-12-02 10:39:17 24 4
gpt4 key购买 nike

我想开始一个cmake项目,我有很多文件。结构如下。
types.hfunctions.h中包含dag.hfunctions.hbasic.cpp, br.cpp, IR.cpp中包含UIR.cppfunctions.hdag.h中包含dag.cpp, dag-cmp.cpp, dag-cover.cpp, dag-make.cppdag-sum.cpp
显然,我在同一目录中也有一个main.cpp,其中包括types.h, dag.hfunctions.h
对于CMakeLists.txt和cmake项目,哪个是最佳解决方案?

最佳答案

我认为,没有最好的解决方案,但我希望以下几点:

cmake_minimum_required(VERSION 3.12)
project(myproject)

set(SOURCE_FILES
basic.cpp
br.cpp
IR.cpp
UIR.cpp
dag.cpp
dag-cmp.cpp
dag-cover.cpp
dag-make.cpp
dag-sum.cpp
main.cpp
)

set(HEADER_FILES
types.h
functions.h
dag.h
)

add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${HEADER_FILES})

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
  • 使用变量${PROJECT_NAME}可以轻松更改项目名称,因为您只需更改一次即可。
  • 包括所有头文件和源文件,可使IDE知道这些文件属于项目。
  • 设置目标属性比更改CMake变量更可取。因此,我鼓励使用target_compile_features而不是set(CMAKE_CXX_STANDARD 14)
  • 关于c++ - CMakeLists.txt结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899578/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com