1 # Copyright (C) 2010-2012 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 IF(EXISTS ${CMAKE_BINARY_DIR}/wrapfiles.txt)
25 COMMAND ${PYTHON_EXECUTABLE} -c "f = open('${CMAKE_BINARY_DIR}/wrapfiles.txt') ; print f.read(), ; f.close()"
26 OUTPUT_VARIABLE WRAP_LIST_FULL
29 STRING(REGEX MATCHALL "[^\n]+" WRAP_LIST_REG ${WRAP_LIST_FULL})
30 FOREACH(STR ${WRAP_LIST_REG})
32 SEPARATE_ARGUMENTS(STR)
33 LIST(LENGTH STR WRAP_LEN)
39 IF(WRAP_LEN GREATER 1)
40 MATH(EXPR WRAP_LEN1 "${WRAP_LEN} - 1" )
42 FOREACH(IND RANGE 1 ${WRAP_LEN1})
43 LIST(GET STR ${IND} DEP_VAL)
44 SET(DEP_HH ${DEP_HH} PARAVIS_Gen_${DEP_VAL}_i.hh)
45 SET(DEP_CC ${DEP_CC} PARAVIS_Gen_${DEP_VAL}_i.cc)
46 ENDFOREACH(IND RANGE 1 ${WRAP_LEN1})
48 ENDIF(WRAP_LEN GREATER 1)
50 SET(WRAP_IDL_I_HH ${WRAP_IDL_I_HH} PARAVIS_Gen_${VAL}_i.hh)
51 SET(WRAP_IDL_I_CC ${WRAP_IDL_I_CC} PARAVIS_Gen_${VAL}_i.cc)
53 SET(vtkWrapIDL_HH_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_HH)
55 IF(CMAKE_BUILD_TOOL STREQUAL nmake)
56 SET(vtkWrapIDL_HH_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_HH.exe)
57 ELSE(CMAKE_BUILD_TOOL STREQUAL nmake)
58 SET(vtkWrapIDL_HH_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/vtkWrapIDL_HH.exe)
59 ENDIF(CMAKE_BUILD_TOOL STREQUAL nmake)
63 OUTPUT PARAVIS_Gen_${VAL}_i.hh
64 COMMAND ${vtkWrapIDL_HH_EXEFILE} ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints 0 PARAVIS_Gen_${VAL}_i.hh
65 DEPENDS vtkWrapIDL_HH ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints ${DEP_HH}
68 SET(vtkWrapIDL_CC_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_CC)
70 IF(CMAKE_BUILD_TOOL STREQUAL nmake)
71 SET(vtkWrapIDL_CC_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_CC.exe)
72 ELSE(CMAKE_BUILD_TOOL STREQUAL nmake)
73 SET(vtkWrapIDL_CC_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/vtkWrapIDL_CC.exe)
74 ENDIF(CMAKE_BUILD_TOOL STREQUAL nmake)
78 OUTPUT PARAVIS_Gen_${VAL}_i.cc
79 COMMAND ${vtkWrapIDL_CC_EXEFILE} ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints 0 PARAVIS_Gen_${VAL}_i.cc
80 DEPENDS PARAVIS_Gen_${VAL}_i.hh vtkWrapIDL_CC ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints ${DEP_CC}
83 ENDFOREACH(STR ${WRAP_LIST_REG})
84 ENDIF(EXISTS ${CMAKE_BINARY_DIR}/wrapfiles.txt)
87 OUTPUT PARAVIS_CreateClass.cxx
88 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/create_class.py ${CMAKE_BINARY_DIR}
89 DEPENDS ${CMAKE_BINARY_DIR}/wrapfiles.txt ${WRAP_IDL_I_HH}
91 ADD_CUSTOM_TARGET(generate_pvgui ALL DEPENDS ${CMAKE_BINARY_DIR}/wrapfiles.txt PARAVIS_CreateClass.cxx ${WRAP_IDL_I_HH} ${WRAP_IDL_I_CC})