Skip to content

Commit cac2581

Browse files
committed
fix(cmake): properly expose public headers
1 parent e228a6a commit cac2581

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

CMakeLists.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ endif()
1616
file(GLOB_RECURSE SRC_FILES
1717
"${SRC_DIR}/**.cpp"
1818
"${SRC_DIR}/**.hpp"
19+
)
20+
file(GLOB_RECURSE PUBLIC_HEADER_FILES
1921
"${PUBLIC_HEADER_DIR}/**.hpp"
2022
)
2123

22-
add_library(${PROJECT_NAME} STATIC ${SRC_FILES})
24+
add_library(${PROJECT_NAME} STATIC ${SRC_FILES} ${PUBLIC_HEADER_FILES})
2325

2426
if(CXX_FORMAT_SUPPORT)
2527
message("Using std::format for formatting, you can set USE_FMT to force fmt::format instead.")
@@ -42,8 +44,12 @@ endif()
4244
find_package(Threads REQUIRED)
4345
target_link_libraries(${PROJECT_NAME} Threads::Threads )
4446

45-
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADER_DIR}")
4647
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20)
4748

48-
target_precompile_headers(${PROJECT_NAME} PUBLIC "${SRC_DIR}/common.hpp")
49-
target_include_directories(${PROJECT_NAME} PUBLIC ${SRC_DIR} "${PUBLIC_HEADER_DIR}/AsyncLogger/")
49+
target_include_directories(${PROJECT_NAME} PRIVATE "${PUBLIC_HEADER_DIR}/AsyncLogger/")
50+
target_include_directories(${PROJECT_NAME} PUBLIC "${SRC_DIR}")
51+
target_precompile_headers(${PROJECT_NAME} PRIVATE "${SRC_DIR}/common.hpp")
52+
53+
# public stuff
54+
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADER_FILES}")
55+
target_include_directories(${PROJECT_NAME} PUBLIC "${PUBLIC_HEADER_DIR}")

0 commit comments

Comments
 (0)