[Ctk-developers] CTK-Plugins Cycle dependencing detected
Sascha Zelzer
s.zelzer at dkfz-heidelberg.de
Tue Dec 18 10:56:37 UTC 2012
Hi Sergio,
inter-plugin dependencies are stated in the "manifest_headers.cmake"
file in the plug-in folder, using the "Require-Plugin" header. If this
file exists in your plug-in (it is optional), please check its contents.
Your CMake code below looks correct.
- Sascha
On 12/18/2012 11:17 AM, Sergio Vera wrote:
> Hello!
>
> I'm following the tutorial on the CTK website, but I'm having problems
> with plugin dependencies cycles
>
> I have a Top level CMakeLists.txt
>
> cmake_minimum_required(VERSION 2.8)
> PROJECT(CoreApp)
>
> FIND_PACKAGE(Qt4 REQUIRED)
> INCLUDE(${QT_USE_FILE}) # include UseQt4.cmake
> FIND_PACKAGE(CTK REQUIRED)
> INCLUDE(${CTK_USE_FILE}) # include UseCTK.cmake
>
> macro(GetMyTargetLibraries all_target_libraries varname)
> set(re_ctkplugin "^com_alma_[a-zA-Z0-9_]+$")
> set(_tmp_list)
> list(APPEND _tmp_list ${all_target_libraries})
> ctkMacroListFilter(_tmp_list re_ctkplugin OUTPUT_VARIABLE ${varname})
> endmacro()
>
> set(plugins
> Plugins/com.alma.rd.trackerlistenerservice:ON
> )
> ctkMacroSetupPlugins(${plugins})
> add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/CoreApps)
>
> and inside a Plugins/com.alma.rd.trackerlistenerservice folter I have
> another CMakeLists.txt
>
> PROJECT(com_alma_rd_trackerlistenerservice)
> set(PLUGIN_export_directive "com_alma_rd_trackerlistenerservice_EXPORT")
>
> # No OpenIGTLink yet
>
> set(PLUGIN_SRCS
> TrackerListenerService.cpp
> )
> # Files which should be processed by Qts moc
> set(PLUGIN_MOC_SRCS
> )
> # Qt Designer files which should be processed by Qts uic
> set(PLUGIN_UI_FORMS
> )
> # QRC Files which should be compiled into the plugin
> set(PLUGIN_resources
> )
> #Compute the plugin dependencies
> ctkFunctionGetTargetLibraries(PLUGIN_target_libraries)
> ctkMacroBuildPlugin(
> NAME ${PROJECT_NAME}
> EXPORT_DIRECTIVE ${PLUGIN_export_directive}
> SRCS ${PLUGIN_SRCS}
> MOC_SRCS ${PLUGIN_MOC_SRCS}
> UI_FORMS ${PLUGIN_UI_FORMS}
> RESOURCES ${PLUGIN_resources}
> TARGET_LIBRARIES ${PLUGIN_target_libraries}
>
> and a target_libraroes.cmake with:
>
> set(target_libraries
> CTKPluginFrameWork
> )
>
> after using Cmake-GUI on the top level CmakeLists.txt i obtain the
> following error:
>
> Generated: C:/work/pruebas-bin/CTKTest/DGraphInput-alldep-withext.txt
>
> CMake Error at
> C:/work/src/CTK/CMake/ctkMacroValidateBuildOptions.cmake:138 (message):
>
> Failed to obtain dependence path of com_alma_rd_trackerlistenerservice.
>
> 1
>
> Cycle detected !
>
> com_alma_rd_trackerlistenerservice
>
> com_alma_rd_trackerlistenerservice
>
> Call Stack (most recent call first):
>
> C:/work/src/CTK/CMake/ctkMacroSetupPlugins.cmake:186
> (ctkMacroValidateBuildOptions)
>
> CMakeLists.txt:24 (ctkMacroSetupPlugins)
>
> Configuring incomplete, errors occurred!
>
>
> it seems that the plugins thinks that it depends on itself. Perhaps is
> a problem with the GetMyTargetLibraries macro?
>
>
> Any help will be highly appreciated
>
>
> many thanks.
>
>
> --
> Sergio Vera
>
> Alma IT Systems
> C/ Vilana, 4B, 4º 1ª
> 08022 Barcelona
> T. (+34) 932 380 592
> www.alma3d.com <http://www.alma3d.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/ctk-developers/attachments/20121218/d9fff215/attachment.htm>
More information about the Ctk-developers
mailing list