diff --git a/test/cmake_target_include_directories/project/Bar.cpp b/test/cmake_target_include_directories/project/Bar.cpp new file mode 100644 index 000000000..ed39e284c --- /dev/null +++ b/test/cmake_target_include_directories/project/Bar.cpp @@ -0,0 +1,3 @@ +#include "Bar.hpp" + +class Bar; diff --git a/test/cmake_target_include_directories/project/Bar.hpp b/test/cmake_target_include_directories/project/Bar.hpp new file mode 100644 index 000000000..bdb1d9b5c --- /dev/null +++ b/test/cmake_target_include_directories/project/Bar.hpp @@ -0,0 +1,4 @@ +#include +#include "Foo.hpp" + +class Bar : public Foo{}; diff --git a/test/cmake_target_include_directories/project/CMakeLists.txt b/test/cmake_target_include_directories/project/CMakeLists.txt index 20e971a0d..36f3da0cb 100644 --- a/test/cmake_target_include_directories/project/CMakeLists.txt +++ b/test/cmake_target_include_directories/project/CMakeLists.txt @@ -9,3 +9,15 @@ set_target_properties(with_private_target PROPERTIES CXX_STANDARD 11) add_executable(with_private_system_target main.cpp) target_include_directories(with_private_system_target PRIVATE SYSTEM ${nlohmann_json_source}/include) set_target_properties(with_private_system_target PROPERTIES CXX_STANDARD 11) + +# regression from https://github.com/nlohmann/json/discussions/2281 +add_library(Foo SHARED) +target_sources(Foo PRIVATE Foo.cpp Bar.cpp) +target_include_directories(Foo PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${nlohmann_json_source}/include) +set_target_properties(Foo PROPERTIES CXX_STANDARD 11) + +add_library(Bar SHARED) +target_sources(Bar PRIVATE Bar.cpp) +target_link_libraries(Bar PRIVATE Foo) +target_include_directories(Bar PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${nlohmann_json_source}/include) +set_target_properties(Bar PROPERTIES CXX_STANDARD 11) diff --git a/test/cmake_target_include_directories/project/Foo.cpp b/test/cmake_target_include_directories/project/Foo.cpp new file mode 100644 index 000000000..6a2ff91ac --- /dev/null +++ b/test/cmake_target_include_directories/project/Foo.cpp @@ -0,0 +1,3 @@ +#include "Foo.hpp" + +class Foo; diff --git a/test/cmake_target_include_directories/project/Foo.hpp b/test/cmake_target_include_directories/project/Foo.hpp new file mode 100644 index 000000000..fd6b1ffac --- /dev/null +++ b/test/cmake_target_include_directories/project/Foo.hpp @@ -0,0 +1,4 @@ +#pragma once +#include + +class Foo{};