1
我有一個項目的結構是這樣的:正確cmake的安裝,包括頭
─root
├──src
│ ├──main.cpp
│ └──CMakeLists.txt[2]
├──build
├──out
├──inc
├──dep
│ ├──log
│ │ ├──include
│ │ │ └──log.h
│ │ ├──src
│ │ │ └──log.cpp
│ │ └──CMakeLists.txt[4]
│ └──CMakeLists.txt[3]
└──CMakeLists.txt[1]
在dep
我有一個日誌庫,這是一個外部的Git倉庫用自己CMakeLists.txt
文件。
主要CMakeLists.txt
(標記爲[1])是:
cmake_minimum_required(VERSION 2.6)
set(APP_ROOT ${PROJECT_SOURCE_DIR})
add_subdirectory(dep)
add_subdirectory(src)
的CMakeLists.txt
(標記爲[2])用於當前的項目的代碼是:
add_executable(app main.cpp)
target_link_libraries(app log)
include_directories("${APP_ROOT}/inc")
的CMakeLists.txt
(標作爲[3])的依賴關係是:
add_subdirectory(log)
我是什麼tr要做的是將dep/log/include
文件夾的內容複製到一個名爲inc/log
的新文件夾中,以便在main.cpp
中我可以編寫類似#include <log/log.h>
的東西,但我不明白。我想避免編輯記錄器項目的CMakeLists.txt
。
對不起,不能有助於回答,但不禁按下+1的ASCII圖形。 –
您的解決方案對我來說很好 - 我會將其添加爲答案。 – Fraser
將日誌的包含目錄添加到編譯器包含路徑不是更簡單嗎? – szx