cmake:CMAKE_CURRENT_SOURCE_DIR与CMAKE_SOURCE_DIR

r囧r小猫 2022-09-10 13:10 265阅读 0赞

CMAKE_BINARY_DIR和CMAKE_CURRENT_SOURCE_DIR和CMAKE_SOURCE_DIR的区别

在这里插入图片描述

  • CMAKE_CURRENT_SOURCE_DIR:当前CMakeLists.txt所在目录
  • CMAKE_SOURCE_DIR: 最外层CMakeLists.txt所在目录

在这里插入图片描述
最外层CMakeLists.txt

  1. cmake_minimum_required(VERSION 3.16)
  2. project(matser)
  3. set(CMAKE_CXX_STANDARD 14)
  4. message("matser_CMAKE_BINARY_DIR: " ${
  5. CMAKE_BINARY_DIR} )
  6. message("matser_CMAKE_SOURCE_DIR: " ${
  7. CMAKE_SOURCE_DIR} )
  8. if (${
  9. CMAKE_BINARY_DIR} STREQUAL ${
  10. CMAKE_SOURCE_DIR})
  11. message(FATAL_ERROR "Please into another dir to build!")
  12. endif()
  13. add_subdirectory(lib_c oceanstar)
  14. add_subdirectory(lib_cpp oceanstar_cpp)
  15. add_executable(matser main.cpp)

lib_c和lic_cpp的CMakeLists.txt:

  1. cmake_minimum_required(VERSION 2.8)
  2. message("c_CMAKE_BINARY_DIR: " ${
  3. CMAKE_BINARY_DIR} )
  4. message("c_CMAKE_CURRENT_SOURCE_DIR: " ${
  5. CMAKE_CURRENT_SOURCE_DIR} )
  6. message("c_CMAKE_SOURCE_DIR: " ${
  7. CMAKE_SOURCE_DIR} )
  8. if (${
  9. CMAKE_BINARY_DIR} STREQUAL ${
  10. CMAKE_CURRENT_SOURCE_DIR})
  11. message(FATAL_ERROR "Please into another dir to build!")
  12. endif()

添加子项目

发表评论

表情:
评论列表 (有 0 条评论,265人围观)

还没有评论,来说两句吧...

相关阅读

    相关 RAMROMCMOS

    静态RAM常用作高速缓存。 CPU的速度不断提高也大大超过了内存的速度,使得CPU在进行数据存储时需要等待,从而降低了整个计算机系统的运行速度,为解决这一问题引入了 cache

    相关 |||,&&&区别

    &,&&:(与,短路与):一样的地方就是二者执行最后的结果是一样的,但是执行的过程有区别, 对于&:无论&左边是否为false,他都会继续检验右边的boolean值。 对于