From 27c7e42f690084c2f7a7f8e94df463767f9e43dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sat, 4 Oct 2025 21:15:15 +0200 Subject: [PATCH] cockatrice_protocol can forward generated pb headers as a target. Took 13 minutes --- libs/deck_list/CMakeLists.txt | 1 - libs/pb/CMakeLists.txt | 6 ++++-- libs/server/CMakeLists.txt | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/deck_list/CMakeLists.txt b/libs/deck_list/CMakeLists.txt index 14ddb49e7..a8ca084d1 100644 --- a/libs/deck_list/CMakeLists.txt +++ b/libs/deck_list/CMakeLists.txt @@ -27,7 +27,6 @@ add_library(cockatrice_deck_list STATIC target_include_directories(cockatrice_deck_list PUBLIC include - PUBLIC ${CMAKE_BINARY_DIR}/libs/pb ) target_link_libraries(cockatrice_deck_list diff --git a/libs/pb/CMakeLists.txt b/libs/pb/CMakeLists.txt index 783dca19c..0c0060625 100644 --- a/libs/pb/CMakeLists.txt +++ b/libs/pb/CMakeLists.txt @@ -169,7 +169,8 @@ if(${Protobuf_VERSION} VERSION_LESS "3.21.0.0") message(STATUS "Using Protobuf Legacy Mode") include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) - protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_FILES}) + set(PROTO_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/pb") + protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_FILES} OUT_DIR ${PROTO_BINARY_DIR}) add_library(cockatrice_protocol ${PROTO_SRCS} ${PROTO_HDRS}) set(cockatrice_protocol_LIBS ${PROTOBUF_LIBRARIES}) @@ -177,6 +178,7 @@ if(${Protobuf_VERSION} VERSION_LESS "3.21.0.0") set(cockatrice_protocol_LIBS ${cockatrice_protocol_LIBS} -lpthread) endif(UNIX) target_link_libraries(cockatrice_protocol ${cockatrice_protocol_LIBS}) + target_include_directories(cockatrice_protocol PUBLIC "${PROTOBUF_INCLUDE_DIRS}" PUBLIC ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${PROTO_BINARY_DIR}) # ubuntu uses an outdated package for protobuf, 3.1.0 is required if(${Protobuf_VERSION} VERSION_LESS "3.1.0") @@ -191,7 +193,7 @@ else() add_library(cockatrice_protocol ${PROTO_FILES}) target_link_libraries(cockatrice_protocol PUBLIC protobuf::libprotobuf) set(PROTO_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/pb") - target_include_directories(cockatrice_protocol PUBLIC "${PROTOBUF_INCLUDE_DIRS}" PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(cockatrice_protocol PUBLIC "${PROTOBUF_INCLUDE_DIRS}" PUBLIC ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${PROTO_BINARY_DIR}) protobuf_generate( TARGET cockatrice_protocol IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" diff --git a/libs/server/CMakeLists.txt b/libs/server/CMakeLists.txt index 38bd42e8f..eb3ebefcf 100644 --- a/libs/server/CMakeLists.txt +++ b/libs/server/CMakeLists.txt @@ -56,7 +56,6 @@ add_library(cockatrice_server STATIC target_include_directories(cockatrice_server PUBLIC include PUBLIC ${CMAKE_SOURCE_DIR}/common - PUBLIC ${CMAKE_BINARY_DIR}/libs/pb ) # Make cockatrice_server depend on cockatrice_protocol