Trzymam sie takiej zasady:
#include ""
dla wszystkich plików w obrębie add_library/add_executable z cmake (w zakresie biblioteki/aplikacji)
#include <>
w pozostałych przypadkach
Wszytko co nie jest z bieżącego targetu cmake musi być w <>
bo jest częścią systemu w ktorym budujemy, a to czy to jest systemowa biblioteka czy biblioteka w projekcie cmake to juz nie istotne
bliblioteka A
add_library(A a1.h a1.cpp a2.h a2.cpp)
target_include_directory(A PUBLIC ./)
// a2.cpp
#include "a1.h" // plik z aktualnego targetu wiec ""
bliblioteka B(zależna od A)
add_library(B b1.h b1.cpp b2.h b2.cpp)
target_link_library(B PRIVATE A)
// b2.cpp
#include "b1.h" // plik z aktualnego targetu wiec ""
#include <a1.h> // plik NIE z aktualnego targetu wiec <>
czy ten tok rozumowania jest poprawny ?
po co jest rozroznienie na ""
i <>
? czy to tez wywodzi sie z prehistorii c++ ?