Gaaahhhhh....

I'm using a variable (SOURCES) that is actually an optional argument to the ADD_PARAVIEW_PLUGIN() macro.


If I change SET (SOURCES ${ParaViewExamples_SOURCE_DIR}/ vtkMyElevationFilter.cxx) to

SET (_SOURCES ${ParaViewExamples_SOURCE_DIR}/vtkMyElevationFilter.cxx)
ADD_PARAVIEW_PLUGIN(SMMyElevation "1.0"
 SERVER_MANAGER_XML MyElevationFilter.xml
 SERVER_MANAGER_SOURCES "${_SOURCES}"
# SERVER_MANAGER_SOURCES vtkMyElevationFilter.cxx
 )

then everything works.

Hmm. I was thinking that cmake would have done the variable substitution FIRST before sending it to the macro.

Is this a bug or feature?

Mike


On Dec 2, 2008, at 3:44 PM, Mike Jackson wrote:

Working from the examples provided with ParaView I have narrowed down the problem to the following:

ADD_PARAVIEW_PLUGIN(SMMyElevation "1.0"
 SERVER_MANAGER_XML MyElevationFilter.xml
# SERVER_MANAGER_SOURCES "${SOURCES}"
 SERVER_MANAGER_SOURCES vtkMyElevationFilter.cxx
 )

If the project is configured and compiled as is then the vtkMyElevationFilter.cxx is compiled.

If you then try the following:

SET (SOURCES ${ParaViewExamples_SOURCE_DIR}/vtkMyElevationFilter.cxx)
ADD_PARAVIEW_PLUGIN(SMMyElevation "1.0"
 SERVER_MANAGER_XML MyElevationFilter.xml
 SERVER_MANAGER_SOURCES "${SOURCES}"
# SERVER_MANAGER_SOURCES vtkMyElevationFilter.cxx
 )

then the file is NOT compiled. Tracing into the actual ADD_PARAVIEW_PLUGIN macro and placing some message() commands there is something odd happening in there.

-- ARG_/Users/Shared/Kitware-CVS/ParaView3/Examples/Plugins/Filter/ vtkMyElevationFilter.cxx-- ARG_SERVER_MANAGER_SOURCES:

where as in the run that actually works I get:

-- ARG_SERVER_MANAGER_SOURCES vtkMyElevationFilter.cxx
-- ARG_SERVER_MANAGER_SOURCES: vtkMyElevationFilter.cxx

Is this a bug or just something I am doing wrong?

Mike


On Dec 2, 2008, at 2:54 PM, Michael Jackson wrote:

I am trying to update my plugin creator and I am coming up against some issues that I am not sure how to solve because I am basically confused as to what is going wrong. Here is the CMakeLists.txt file that I generate:

project(MyPlugin)
cmake_minimum_required(VERSION 2.4)
if(COMMAND cmake_policy)
    cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

# Configure output directories.
SET (LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/Bin"
   CACHE INTERNAL "For libraries.")
SET (EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/Bin"
   CACHE INTERNAL "For executables.")


# -- Set the Module Name
SET(MODULE_NAME MyPlugin)
# -- Find ParaView -----
FIND_PACKAGE(ParaView REQUIRED)
INCLUDE(${PARAVIEW_USE_FILE})
INCLUDE_DIRECTORIES(    "${CMAKE_CURRENT_BINARY_DIR}"
                      "${MyPlugin_SOURCE_DIR}/src/"
)
#-- List our source files --
#SET (SOURCES ${SOURCES} ${MyPlugin_SOURCE_DIR}/src/.cpp)
SET (SOURCES ${SOURCES} ${MyPlugin_SOURCE_DIR}/src/vtkMyReader.cpp)
#SET (SOURCES ${SOURCES} ${MyPlugin_SOURCE_DIR}/src/.cpp)


# -- Add the Plugin to ParaView -----
ADD_PARAVIEW_PLUGIN(MyPlugin "1.0"
SERVER_MANAGER_SOURCES ${SOURCES}
SERVER_MANAGER_XML ${MyPlugin_SOURCE_DIR}/XMLFiles/MyPlugin_pvsm.xml
GUI_RESOURCE_FILES ${MyPlugin_SOURCE_DIR}/XMLFiles/MyPlugin_gui.xml
)


When I run cmake and then compile the project I get:

-- Build files have been written to: /Users/mjackson/Workspace/ MyPlugin/Build
[ 14%] Generating vtkSMXML_MyPlugin.h
-- Generate module: MyPlugin_pvsm
[ 28%] Generating moc_MyPluginPluginImplementation.cxx
[ 42%] Generating qrc_MyPlugin.cxx
Scanning dependencies of target MyPlugin
[ 57%] Building CXX object CMakeFiles/MyPlugin.dir/ moc_MyPluginPluginImplementation.o [ 71%] Building CXX object CMakeFiles/MyPlugin.dir/ MyPluginPluginImplementation.o
[ 85%] Building CXX object CMakeFiles/MyPlugin.dir/qrc_MyPlugin.o
[100%] Building CXX object CMakeFiles/MyPlugin.dir/ vtkPVPluginInit_MyPlugin.o
Linking CXX shared library Bin/libMyPlugin.dylib
[100%] Built target MyPlugin


No where in there is anything about the vtkMyReader.cpp being compiled. Um.. What am I missing?


Thanks
_________________________________________________________
Mike Jackson                  [EMAIL PROTECTED]
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

_______________________________________________
ParaView mailing list
ParaView@paraview.org
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to