diff --git a/plugins/Plugins.cmake b/plugins/Plugins.cmake index 4468140f7..3aefde807 100644 --- a/plugins/Plugins.cmake +++ b/plugins/Plugins.cmake @@ -111,6 +111,7 @@ MACRO(DFHACK_PLUGIN) SET_SOURCE_FILES_PROPERTIES( ${PLUGIN_PROTO_HDRS} PROPERTIES HEADER_FILE_ONLY TRUE ) LIST(APPEND PLUGIN_SOURCES ${PLUGIN_PROTO_HDRS}) LIST(APPEND PLUGIN_SOURCES ${PLUGIN_PROTO_SRCS}) + LIST(APPEND PLUGIN_SOURCES ${PLUGIN_PROTOS}) IF(UNIX) SET(PLUGIN_COMPILE_FLAGS "${PLUGIN_COMPILE_FLAGS} -include Export.h") diff --git a/plugins/remotefortressreader/CMakeLists.txt b/plugins/remotefortressreader/CMakeLists.txt index ee6a6210b..3e998ffb5 100644 --- a/plugins/remotefortressreader/CMakeLists.txt +++ b/plugins/remotefortressreader/CMakeLists.txt @@ -17,18 +17,26 @@ SET(PROJECT_HDRS ) #proto files to include. SET(PROJECT_PROTO - ${CMAKE_CURRENT_SOURCE_DIR}/../proto/RemoteFortressReader.pb.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../proto/AdventureControl.pb.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../proto/ItemdefInstrument.pb.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../proto/DwarfControl.pb.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../proto/ui_sidebar_mode.pb.cc + RemoteFortressReader + AdventureControl + ItemdefInstrument + DwarfControl + ui_sidebar_mode ) -SET_SOURCE_FILES_PROPERTIES( ${PROJECT_HDRS} PROPERTIES HEADER_FILE_ONLY TRUE) -SET_SOURCE_FILES_PROPERTIES( ${PROJECT_PROTO} PROPERTIES GENERATED TRUE) +SET(PLUGIN_PROTOS) +FOREACH(pbuf ${PROJECT_PROTO}) + LIST(APPEND PLUGIN_PROTOS ${CMAKE_CURRENT_SOURCE_DIR}/../proto/${pbuf}.proto) +ENDFOREACH() + +STRING(REPLACE ".proto" ".pb.cc" PLUGIN_PROTO_SRCS "${PLUGIN_PROTOS}") +STRING(REPLACE ".proto" ".pb.h" PLUGIN_PROTO_HDRS "${PLUGIN_PROTOS}") +SET_SOURCE_FILES_PROPERTIES(${PLUGIN_PROTO_SRCS} ${PLUGIN_PROTO_HDRS} PROPERTIES GENERATED TRUE) + +SET_SOURCE_FILES_PROPERTIES( ${PROJECT_HDRS} ${PLUGIN_PROTO_HDRS} PROPERTIES HEADER_FILE_ONLY TRUE) # mash them together (headers are marked as headers and nothing will try to compile them) -LIST(APPEND PROJECT_SRCS ${PROJECT_HDRS};${PROJECT_PROTO}) +LIST(APPEND PROJECT_SRCS ${PROJECT_HDRS} ${PLUGIN_PROTOS} ${PLUGIN_PROTO_SRCS} ${PLUGIN_PROTO_HDRS}) IF(UNIX AND NOT APPLE) SET(PROJECT_LIBS ${PROJECT_LIBS} SDL)