From 3580409cc1aa41c7b133222d6c4a13722a90d1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Tue, 2 Apr 2013 22:37:41 +0200 Subject: [PATCH] Sync isoworld, some protobuf building changes --- plugins/CMakeLists.txt | 1 + plugins/Plugins.cmake | 12 ++++++++++-- plugins/isoworld | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 4f3b79b38..0bbc209c1 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -66,6 +66,7 @@ ADD_CUSTOM_COMMAND( ${PROJECT_PROTOS} DEPENDS protoc-bin ${PROJECT_PROTOS} ) +add_custom_target(generate_proto DEPENDS ${PROJECT_PROTO_SRCS} ${PROJECT_PROTO_HDRS}) SET_SOURCE_FILES_PROPERTIES( Brushes.h PROPERTIES HEADER_FILE_ONLY TRUE ) diff --git a/plugins/Plugins.cmake b/plugins/Plugins.cmake index 0ea37ace9..832ebebec 100644 --- a/plugins/Plugins.cmake +++ b/plugins/Plugins.cmake @@ -65,14 +65,22 @@ MACRO(DFHACK_PLUGIN) ) CAR(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS}) CDR(PLUGIN_SOURCES ${PLUGIN_DEFAULT_ARGS}) - + + SET(PLUGIN_PROTOCPP) FOREACH(pbuf ${PLUGIN_PROTOBUFS}) SET(PLUGIN_SOURCES ${PLUGIN_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/proto/${pbuf}.pb.cc) + SET(PLUGIN_PROTOCPP ${PLUGIN_PROTOCPP} ${CMAKE_CURRENT_SOURCE_DIR}/proto/${pbuf}.pb.cc) ENDFOREACH() + # Tell CMake the source won't be available until build time. + SET_SOURCE_FILES_PROPERTIES(${PLUGIN_PROTOCPP} PROPERTIES GENERATED 1) + ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES}) IDE_FOLDER(${PLUGIN_NAME} "Plugins") - + + # Make sure the source is generated before the executable builds. + ADD_DEPENDENCIES(${PLUGIN_NAME} generate_proto) + LIST(LENGTH PLUGIN_PROTOBUFS NUM_PROTO) IF(NUM_PROTO) TARGET_LINK_LIBRARIES(${PLUGIN_NAME} dfhack protobuf-lite ${PLUGIN_LINK_LIBRARIES}) diff --git a/plugins/isoworld b/plugins/isoworld index 889e95e26..2a409fa68 160000 --- a/plugins/isoworld +++ b/plugins/isoworld @@ -1 +1 @@ -Subproject commit 889e95e26e56bbab836d3f6582a3d4d318735f76 +Subproject commit 2a409fa6870aa098ff00c5572cd7988e52e952b8