diff options
| author | Alexander Gavrilov | 2012-03-15 13:01:23 +0400 |
|---|---|---|
| committer | Alexander Gavrilov | 2012-03-15 13:01:23 +0400 |
| commit | 87f925e72e7c6f923a595cc930728483a3f1422e (patch) | |
| tree | 4da81e9346e9f21599cea8c7a2d95d8da4628e2e /plugins/Plugins.cmake | |
| parent | e7851f5abdd1a84d29020f2789efc0f932284bf0 (diff) | |
| download | dfhack-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.cmake | 10 |
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}) |
