]> SALOME platform Git repositories - modules/paravis.git/blob - src/PVGUI/wrap.cmake
Salome HOME
Merge from BR_PARAVIS_LOT1_2 24/02/2010
[modules/paravis.git] / src / PVGUI / wrap.cmake
1 SET(WRAP_IDL_I_HH)
2 SET(WRAP_IDL_I_CC)
3
4 IF(EXISTS ${CMAKE_BINARY_DIR}/wrapfiles.txt)
5  EXECUTE_PROCESS(
6   COMMAND cat ${CMAKE_BINARY_DIR}/wrapfiles.txt
7   OUTPUT_VARIABLE WRAP_LIST_FULL
8  )
9
10  STRING(REGEX  MATCHALL "[^\n]+" WRAP_LIST_REG ${WRAP_LIST_FULL})
11  FOREACH(STR ${WRAP_LIST_REG})
12
13   SEPARATE_ARGUMENTS(STR)
14   LIST(LENGTH STR WRAP_LEN)
15   SET(DEP_HH)
16   SET(DEP_CC)
17  
18   LIST(GET STR 0 VAL)
19
20   IF(WRAP_LEN GREATER 1)
21    MATH(EXPR WRAP_LEN1 "${WRAP_LEN} - 1" )
22
23    FOREACH(IND RANGE 1 ${WRAP_LEN1})
24     LIST(GET STR ${IND} DEP_VAL)
25     SET(DEP_HH ${DEP_HH} PARAVIS_Gen_${DEP_VAL}_i.hh)
26     SET(DEP_CC ${DEP_CC} PARAVIS_Gen_${DEP_VAL}_i.cc)
27    ENDFOREACH(IND RANGE 1 ${WRAP_LEN1})
28
29   ENDIF(WRAP_LEN GREATER 1)
30
31   SET(WRAP_IDL_I_HH ${WRAP_IDL_I_HH} PARAVIS_Gen_${VAL}_i.hh)
32   SET(WRAP_IDL_I_CC ${WRAP_IDL_I_CC} PARAVIS_Gen_${VAL}_i.cc)
33
34   ADD_CUSTOM_COMMAND(
35    OUTPUT PARAVIS_Gen_${VAL}_i.hh
36    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_HH_exe ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints 0 PARAVIS_Gen_${VAL}_i.hh
37    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_HH_exe ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints ${DEP_HH}
38   ) 
39
40   ADD_CUSTOM_COMMAND(
41    OUTPUT PARAVIS_Gen_${VAL}_i.cc
42    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_CC_exe ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints 0 PARAVIS_Gen_${VAL}_i.cc
43    DEPENDS PARAVIS_Gen_${VAL}_i.hh ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL_CC_exe ${PARAVIEW_INCLUDE_DIRS}/${VAL}.h ${CMAKE_BINARY_DIR}/idl/hints ${DEP_CC}
44   )
45
46  ENDFOREACH(STR ${WRAP_LIST_REG})
47 ENDIF(EXISTS ${CMAKE_BINARY_DIR}/wrapfiles.txt)
48
49 ADD_CUSTOM_COMMAND(
50  OUTPUT PARAVIS_CreateClass.cxx
51  COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/create_class.sh ${CMAKE_SOURCE_DIR}
52  DEPENDS ${CMAKE_BINARY_DIR}/wrapfiles.txt ${WRAP_IDL_I_HH}
53 )
54 ADD_CUSTOM_TARGET(generate_pvgui ALL DEPENDS ${CMAKE_BINARY_DIR}/wrapfiles.txt PARAVIS_CreateClass.cxx ${WRAP_IDL_I_HH} ${WRAP_IDL_I_CC})