summaryrefslogtreecommitdiff
path: root/plugins/Plugins.cmake
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-03-15 13:01:23 +0400
committerAlexander Gavrilov2012-03-15 13:01:23 +0400
commit87f925e72e7c6f923a595cc930728483a3f1422e (patch)
tree4da81e9346e9f21599cea8c7a2d95d8da4628e2e /plugins/Plugins.cmake
parente7851f5abdd1a84d29020f2789efc0f932284bf0 (diff)
downloaddfhack-87f925e72e7c6f923a595cc930728483a3f1422e.tar.gz
dfhack-87f925e72e7c6f923a595cc930728483a3f1422e.tar.bz2
dfhack-87f925e72e7c6f923a595cc930728483a3f1422e.tar.xz
Add support for exporting functions from plugins, with example in rename.
TODO: test by actually calling them remotely.
Diffstat (limited to 'plugins/Plugins.cmake')
-rw-r--r--plugins/Plugins.cmake10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/Plugins.cmake b/plugins/Plugins.cmake
index 8d68827a..17c7320a 100644
--- a/plugins/Plugins.cmake
+++ b/plugins/Plugins.cmake
@@ -8,6 +8,7 @@ ENDIF()
include_directories("${dfhack_SOURCE_DIR}/library/include")
include_directories("${dfhack_SOURCE_DIR}/library/proto")
include_directories("${dfhack_SOURCE_DIR}/library/depends/xgetopt")
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/proto")
MACRO(CAR var)
SET(${var} ${ARGV1})
@@ -58,21 +59,28 @@ ENDMACRO()
MACRO(DFHACK_PLUGIN)
PARSE_ARGUMENTS(PLUGIN
- "LINK_LIBRARIES;DEPENDS"
+ "LINK_LIBRARIES;DEPENDS;PROTOBUFS"
"SOME_OPT"
${ARGN}
)
CAR(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
CDR(PLUGIN_SOURCES ${PLUGIN_DEFAULT_ARGS})
+ FOREACH(pbuf ${PLUGIN_PROTOBUFS})
+ SET(PLUGIN_SOURCES ${PLUGIN_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/proto/${pbuf}.pb.cc)
+ ENDFOREACH()
+
ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES})
IDE_FOLDER(${PLUGIN_NAME} "Plugins")
TARGET_LINK_LIBRARIES(${PLUGIN_NAME} dfhack ${PLUGIN_LINK_LIBRARIES})
IF(UNIX)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES SUFFIX .plug.so PREFIX "")
+ SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES COMPILE_FLAGS "-include Export.h")
ELSE()
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES SUFFIX .plug.dll)
+ SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES COMPILE_FLAGS "/FI\"Export.h\"")
ENDIF()
+
install(TARGETS ${PLUGIN_NAME}
LIBRARY DESTINATION ${DFHACK_PLUGIN_DESTINATION}
RUNTIME DESTINATION ${DFHACK_PLUGIN_DESTINATION})