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