2 SET(VERSION_INFO 0.0.0)
10 SET(AM_CPPFLAGS ${AM_CPPFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
11 SET(AM_CXXFLAGS ${AM_CXXFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
13 # PARAVIS : ParaView wrapper SALOME module
15 # Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
16 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
18 # This library is free software; you can redistribute it and/or
19 # modify it under the terms of the GNU Lesser General Public
20 # License as published by the Free Software Foundation; either
21 # version 2.1 of the License.
23 # This library is distributed in the hope that it will be useful,
24 # but WITHOUT ANY WARRANTY; without even the implied warranty of
25 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26 # Lesser General Public License for more details.
28 # You should have received a copy of the GNU Lesser General Public
29 # License along with this library; if not, write to the Free Software
30 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
34 # Author : Julia DOROVSKIKH
36 # Modified by : Alexander BORODIN (OCN) - autotools usage
38 # include $(top_srcdir)/adm_local/unix/make_common_starter.am
44 SET(VISU_PARAVIS_DEFINES
55 SET(dist_vtkWrapIDL_HH_SOURCES
56 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c
57 ${CMAKE_SOURCE_DIR}/idl/vtkWrapIDL.c
59 SET(dist_vtkWrapIDL_CC_SOURCES
60 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c
61 ${CMAKE_SOURCE_DIR}/idl/vtkWrapIDL.c
64 SET(vtkWrapIDL_HH_CPPFLAGS
66 -I${CMAKE_CURRENT_SOURCE_DIR}/../ParaView
67 -I${CMAKE_BINARY_DIR}/idl
72 SET(vtkWrapIDL_CC_CPPFLAGS
74 -I${CMAKE_CURRENT_SOURCE_DIR}/../ParaView
75 -I${CMAKE_BINARY_DIR}/idl
80 # $(srcdir)/wrap.am: $(top_srcdir)/wrapfiles.txt
81 # @cd $(srcdir) && $(srcdir)/create_wrap.sh
83 # include $(srcdir)/wrap.am
86 # PARAVIS_CreateClass.cxx: $(top_srcdir)/wrapfiles.txt $(WRAP_IDL_I_HH)
87 # @$(srcdir)/create_class.sh $(top_srcdir)
95 SET(dist_libPARAVIS_la_SOURCES
99 PVGUI_Module_actions.cxx
100 PVGUI_Module_widgets.cxx
102 PVGUI_ViewManager.cxx
107 PVGUI_OutputWindowAdapter.h
108 PVGUI_OutputWindowAdapter.cxx
119 PARAVIS_CreateClass.cxx
125 PVGUI_ViewManager_moc.cxx
126 PVGUI_ViewModel_moc.cxx
127 PVGUI_ViewWindow_moc.cxx
130 SET(nodist_libPARAVIS_la_SOURCES
134 # additionnal compilation flags
135 # Note that ParaView uses HDF5
136 SET(libPARAVIS_la_CPPFLAGS
140 ${QT_ASSISTANT_INCLUDES}
153 -I${CMAKE_CURRENT_SOURCE_DIR}
154 -I${CMAKE_BINARY_DIR}/idl
155 -I${CMAKE_CURRENT_SOURCE_DIR}/../../idl
156 -I${CMAKE_BINARY_DIR}/salome_adm/unix
157 ${VISU_PARAVIS_DEFINES}
160 # additionnal linkage flags
161 # Note that ParaView uses HDF5
162 SET(libPARAVIS_la_LDFLAGS
168 ${CMAKE_BINARY_DIR}/idl/libSalomeIDLPARAVIS.la
173 ${SalomeLifeCycleCORBA}
181 SET(libPARAVIS_la_LIBADD
186 ${SalomeCommunication}
190 ${SalomeLifeCycleCORBA}
200 SET(nodist_salomeres_DATA
205 # mostlyclean-local: clean-wrap
208 # -rm -f *.hh *.cc PARAVIS_CreateClass.cxx
211 FOREACH(dir ${SUBDIRS})
212 IF(NOT dir STREQUAL .)
213 ADD_SUBDIRECTORY(${dir})
214 ENDIF(NOT dir STREQUAL .)
215 ENDFOREACH(dir ${SUBDIRS})
218 FOREACH(amname ${lib_LTLIBRARIES})
221 STRING(REPLACE .la _la amname ${amname})
224 STRING(LENGTH ${amname} len)
225 MATH(EXPR newlen "${len}-3")
226 STRING(SUBSTRING ${amname} 0 ${newlen} name)
229 STRING(REGEX MATCH "^lib" BEGIN_WITH_lib ${name})
231 STRING(LENGTH ${name} len)
232 MATH(EXPR newlen "${len}-3")
233 STRING(SUBSTRING ${name} 3 ${newlen} name)
234 ENDIF(BEGIN_WITH_lib)
237 STRING(REGEX MATCH "IDL" ISIDL ${name})
252 FOREACH(src ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
253 GET_FILENAME_COMPONENT(ext ${src} EXT)
255 IF(src STREQUAL trte.f)
256 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${src})
257 STRING(REPLACE ".f" ".c" src ${src})
258 SET(src ${CMAKE_CURRENT_BINARY_DIR}/${src})
263 MAIN_DEPENDENCY ${input}
265 ELSE(src STREQUAL trte.f)
266 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${src})
267 STRING(REPLACE ".f" ".o" src ${src})
268 SET(src ${CMAKE_CURRENT_BINARY_DIR}/${src})
277 COMMAND ${F77} -c -o ${output} ${input}
278 MAIN_DEPENDENCY ${input}
280 ENDIF(src STREQUAL trte.f)
281 ENDIF(ext STREQUAL .f)
282 SET(srcs ${srcs} ${src})
283 ENDFOREACH(src ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
286 SET(l ${nodist_${amname}_SOURCES} ${UIC_FILES})
288 SET(src ${CMAKE_CURRENT_BINARY_DIR}/${f})
289 SET(srcs ${srcs} ${src})
294 SET(l ${nodist_${amname}_SOURCES} ${BUILT_SOURCES})
296 GET_FILENAME_COMPONENT(ext ${f} EXT)
298 ELSE(ext STREQUAL .py)
299 SET(build_srcs ${build_srcs} ${CMAKE_CURRENT_BINARY_DIR}/${f})
300 ENDIF(ext STREQUAL .py)
304 ADD_LIBRARY(${name} ${type} ${srcs})
310 SET(targets ${targets} SalomeIDLKernel)
311 SET(targets ${targets} SalomeDS)
312 SET(targets ${targets} SALOMEDSTest)
313 SET(targets ${targets} SALOMEDS_Client_exe)
314 SET(targets ${targets} SalomeIDLGEOM)
315 SET(targets ${targets} GEOMEngine)
316 SET(targets ${targets} MEDEngine)
317 SET(targets ${targets} SMESHEngine)
318 SET(targets ${targets} SMESH)
319 FOREACH(target ${targets})
320 IF(name STREQUAL ${target})
321 SET(var ${var} -DNOGDI)
322 ENDIF(name STREQUAL ${target})
323 ENDFOREACH(target ${targets})
329 SET(targets ${targets} MEFISTO2D)
330 FOREACH(target ${targets})
331 IF(name STREQUAL ${target})
332 SET(dir $ENV{F2CHOME})
333 STRING(REPLACE "\\\\" "/" dir ${dir})
334 SET(var ${var} -I${dir})
335 SET(var ${var} -DF2C_BUILD)
336 ENDIF(name STREQUAL ${target})
337 ENDFOREACH(target ${targets})
341 SET(var ${var} ${AM_CPPFLAGS})
342 SET(var ${var} ${AM_CXXFLAGS})
345 SET(var ${var} ${PLATFORM_CPPFLAGS})
346 SET(var ${var} ${PTHREAD_CFLAGS})
347 SET(var ${var} ${${amname}_CPPFLAGS})
348 SET(var ${var} ${${amname}_CXXFLAGS})
349 SET(var ${var} ${${amname}_CFLAGS})
352 SET(vars ${vars} -include SALOMEconfig.h)
353 SET(vars ${vars} -ftemplate-depth-32)
354 SET(vars ${vars} -fPIC)
363 ENDFOREACH(v ${vars})
364 SET(flags "${flags} ${f}")
366 SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${flags}")
369 SET_TARGET_PROPERTIES(${name} PROPERTIES VERSION ${VERSION_INFO} SOVERSION ${SOVERSION_INFO})
377 SET(targets ${targets} MEFISTO2D)
378 FOREACH(target ${targets})
379 IF(name STREQUAL ${target})
380 SET(dir $ENV{F2CHOME})
381 STRING(REPLACE "\\\\" "/" dir ${dir})
382 SET(libadd ${libadd} ${dir}/LIBF77.lib)
383 SET(libadd ${libadd} ${dir}/LIBI77.lib)
384 ENDIF(name STREQUAL ${target})
385 ENDFOREACH(target ${targets})
389 SET(libs ${PLATFORM_LIBADD} ${PLATFORM_LDFLAGS} ${${amname}_LIBADD} ${${amname}_LDADD} ${${amname}_LDFLAGS})
390 FOREACH(lib SALOMEBasics SalomeBatch)
391 IF(name STREQUAL lib)
392 SET(libs ${libs} ${PTHREAD_LIBS})
393 ENDIF(name STREQUAL lib)
394 ENDFOREACH(lib SALOMEBasics SalomeBatch)
398 GET_FILENAME_COMPONENT(ext ${lib} EXT)
400 GET_FILENAME_COMPONENT(lib ${lib} NAME_WE)
401 STRING(REGEX REPLACE "^lib" "" lib ${lib})
402 ENDIF(ext STREQUAL .la)
404 SET(vars ${vars} -no-undefined)
405 SET(vars ${vars} -lvtkWidgets)
407 SET(vars ${vars} -module)
408 SET(vars ${vars} -Wl,-E)
409 SET(vars ${vars} -Xlinker)
410 SET(vars ${vars} -export-dynamic)
411 SET(vars ${vars} -lm)
412 SET(vars ${vars} -lboost_thread)
413 SET(vars ${vars} -lboost_signals)
414 SET(vars ${vars} -pthread -lpthread -ldl)
419 ENDIF(lib STREQUAL v)
420 ENDFOREACH(v ${vars})
421 SET(libadd ${libadd} ${lib})
422 ENDFOREACH(lib ${libs})
423 TARGET_LINK_LIBRARIES(${name} ${libadd})
428 SET(targets ${targets} MEFISTO2D)
429 FOREACH(target ${targets})
430 IF(name STREQUAL ${target})
431 IF(CMAKE_BUILD_TYPE STREQUAL Debug)
432 SET_TARGET_PROPERTIES(${name} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
433 ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
434 ENDIF(name STREQUAL ${target})
435 ENDFOREACH(target ${targets})
443 INSTALL(TARGETS ${name} DESTINATION ${DEST})
450 INSTALL(TARGETS ${name} DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome)
451 IF(CMAKE_BUILD_TYPE STREQUAL Release)
452 INSTALL(FILES ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/salome/${name}.dll DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome RENAME ${name}.pyd)
453 ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
454 INSTALL(FILES ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/salome/${name}.dll DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome RENAME ${name}_d.pyd)
455 ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
457 GET_TARGET_PROPERTY(version ${name} VERSION)
458 GET_TARGET_PROPERTY(soversion ${name} SOVERSION)
459 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.so.${version} DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome RENAME ${name}.so.${version})
460 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.so.${version} DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome RENAME ${name}.so.${soversion})
461 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.so.${version} DESTINATION lib/python${PYTHON_VERSION}/site-packages/salome RENAME ${name}.so)
465 ENDIF(BEGIN_WITH_lib)
468 ENDFOREACH(amname ${lib_LTLIBRARIES})
471 FOREACH(amname ${bin_PROGRAMS} ${check_PROGRAMS})
474 SET(name "${amname}_exe")
475 SET(srcs ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
476 SET(l ${nodist_${amname}_SOURCES})
478 SET(src ${CMAKE_CURRENT_BINARY_DIR}/${f})
479 SET(srcs ${srcs} ${src})
483 ADD_EXECUTABLE(${name} ${srcs})
489 SET(targets ${targets} SalomeIDLKernel)
490 SET(targets ${targets} SalomeDS)
491 SET(targets ${targets} SALOMEDSTest)
492 SET(targets ${targets} SALOMEDS_Client_exe)
493 SET(targets ${targets} SalomeIDLGEOM)
494 SET(targets ${targets} GEOMEngine)
495 SET(targets ${targets} MEDEngine)
496 SET(targets ${targets} SMESHEngine)
497 SET(targets ${targets} SMESH)
498 FOREACH(target ${targets})
499 IF(name STREQUAL ${target})
500 SET(var ${var} -DNOGDI)
501 ENDIF(name STREQUAL ${target})
502 ENDFOREACH(target ${targets})
508 SET(targets ${targets} MEFISTO2D)
509 FOREACH(target ${targets})
510 IF(name STREQUAL ${target})
511 SET(dir $ENV{F2CHOME})
512 STRING(REPLACE "\\\\" "/" dir ${dir})
513 SET(var ${var} -I${dir})
514 SET(var ${var} -DF2C_BUILD)
515 ENDIF(name STREQUAL ${target})
516 ENDFOREACH(target ${targets})
520 SET(var ${var} ${AM_CPPFLAGS})
521 SET(var ${var} ${AM_CXXFLAGS})
524 SET(var ${var} ${PLATFORM_CPPFLAGS})
525 SET(var ${var} ${PTHREAD_CFLAGS})
526 SET(var ${var} ${${amname}_CPPFLAGS})
527 SET(var ${var} ${${amname}_CXXFLAGS})
528 SET(var ${var} ${${amname}_CFLAGS})
531 SET(vars ${vars} -include SALOMEconfig.h)
532 SET(vars ${vars} -ftemplate-depth-32)
533 SET(vars ${vars} -fPIC)
542 ENDFOREACH(v ${vars})
543 SET(flags "${flags} ${f}")
545 SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${flags}")
553 SET(targets ${targets} MEFISTO2D)
554 FOREACH(target ${targets})
555 IF(name STREQUAL ${target})
556 SET(dir $ENV{F2CHOME})
557 STRING(REPLACE "\\\\" "/" dir ${dir})
558 SET(libadd ${libadd} ${dir}/LIBF77.lib)
559 SET(libadd ${libadd} ${dir}/LIBI77.lib)
560 ENDIF(name STREQUAL ${target})
561 ENDFOREACH(target ${targets})
565 SET(libs ${PLATFORM_LIBADD} ${PLATFORM_LDFLAGS} ${${amname}_LIBADD} ${${amname}_LDADD} ${${amname}_LDFLAGS})
566 FOREACH(lib SALOMEBasics SalomeBatch)
567 IF(name STREQUAL lib)
568 SET(libs ${libs} ${PTHREAD_LIBS})
569 ENDIF(name STREQUAL lib)
570 ENDFOREACH(lib SALOMEBasics SalomeBatch)
573 SET(libs ${libs} ${LDADD})
577 GET_FILENAME_COMPONENT(ext ${lib} EXT)
579 GET_FILENAME_COMPONENT(lib ${lib} NAME_WE)
580 STRING(REGEX REPLACE "^lib" "" lib ${lib})
581 ENDIF(ext STREQUAL .la)
583 SET(vars ${vars} -no-undefined)
584 SET(vars ${vars} -lvtkWidgets)
586 SET(vars ${vars} -module)
587 SET(vars ${vars} -Wl,-E)
588 SET(vars ${vars} -Xlinker)
589 SET(vars ${vars} -export-dynamic)
590 SET(vars ${vars} -lm)
591 SET(vars ${vars} -lboost_thread)
592 SET(vars ${vars} -lboost_signals)
593 SET(vars ${vars} -pthread -lpthread -ldl)
598 ENDIF(lib STREQUAL v)
599 ENDFOREACH(v ${vars})
600 SET(libadd ${libadd} ${lib})
601 ENDFOREACH(lib ${libs})
602 TARGET_LINK_LIBRARIES(${name} ${libadd})
607 SET(targets ${targets} MEFISTO2D)
608 FOREACH(target ${targets})
609 IF(name STREQUAL ${target})
610 IF(CMAKE_BUILD_TYPE STREQUAL Debug)
611 SET_TARGET_PROPERTIES(${name} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
612 ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
613 ENDIF(name STREQUAL ${target})
614 ENDFOREACH(target ${targets})
622 INSTALL(TARGETS ${name} DESTINATION ${DEST})
623 INSTALL(FILES ${CMAKE_INSTALL_PREFIX}/${DEST}/${name}.exe DESTINATION ${DEST} RENAME ${amname}.exe)
624 INSTALL(CODE "FILE(REMOVE ${CMAKE_INSTALL_PREFIX}/${DEST}/${name}.exe)")
627 SET(PERMS ${PERMS} OWNER_READ OWNER_WRITE OWNER_EXECUTE)
628 SET(PERMS ${PERMS} GROUP_READ GROUP_EXECUTE)
629 SET(PERMS ${PERMS} WORLD_READ WORLD_EXECUTE)
630 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name} DESTINATION ${DEST} PERMISSIONS ${PERMS} RENAME ${amname})
637 ENDFOREACH(amname ${bin_PROGRAMS} ${check_PROGRAMS})
640 FOREACH(output ${MOC_FILES})
643 STRING(REGEX REPLACE _moc.cxx .h input ${output})
646 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input})
647 SET(output ${CMAKE_CURRENT_BINARY_DIR}/${output})
650 COMMAND ${QT_MOC_EXECUTABLE} ${MOC_FLAGS} ${input} -o ${output}
651 MAIN_DEPENDENCY ${input}
653 ENDFOREACH(output ${MOC_FILES})
655 FOREACH(f ${nodist_salomeres_DATA})
657 SET(DEST share/salome/resources/paravis)
660 STRING(COMPARE EQUAL ${f} SALOMEconfig.h.in test_SALOMEconfig.h.in)
661 IF(test_SALOMEconfig.h.in)
662 INSTALL(FILES SALOMEconfig.ref.in DESTINATION ${DEST} RENAME SALOMEconfig.h.in)
663 ELSE(test_SALOMEconfig.h.in)
664 SET(dummy dummy-NOTFOUND)
665 MARK_AS_ADVANCED(dummy)
666 # FILE(REMOVE ${CMAKE_INSTALL_PREFIX}/${DEST}/${f})
667 FIND_FILE(dummy ${f} PATHS ${CMAKE_CURRENT_SOURCE_DIR} NO_DEFAULT_PATH)
671 GET_FILENAME_COMPONENT(ext ${f} EXT)
673 IF(DEST STREQUAL bin/salome)
675 SET(PERMS ${PERMS} OWNER_READ OWNER_WRITE OWNER_EXECUTE)
676 SET(PERMS ${PERMS} GROUP_READ GROUP_EXECUTE)
677 SET(PERMS ${PERMS} WORLD_READ WORLD_EXECUTE)
678 INSTALL(FILES ${f} DESTINATION ${DEST} PERMISSIONS ${PERMS})
679 ELSE(DEST STREQUAL bin/salome)
680 INSTALL(FILES ${f} DESTINATION ${DEST})
681 ENDIF(DEST STREQUAL bin/salome)
682 ELSE(ext STREQUAL .py)
683 INSTALL(FILES ${f} DESTINATION ${DEST})
684 ENDIF(ext STREQUAL .py)
688 GET_FILENAME_COMPONENT(ext ${f} EXT)
690 STRING(REGEX REPLACE .qm .ts input ${f})
693 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/resources/${input})
696 SET(output ${CMAKE_CURRENT_BINARY_DIR}/${f})
697 # ADD_CUSTOM_COMMAND(
699 # COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output}
700 # MAIN_DEPENDENCY ${input}
702 EXECUTE_PROCESS(COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output})
703 ENDIF(ext STREQUAL .qm)
704 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${f} DESTINATION ${DEST})
706 ENDIF(test_SALOMEconfig.h.in)
709 GET_FILENAME_COMPONENT(ext ${f} EXT)
711 INSTALL(CODE "SET(PYTHON_FILE ${f})")
712 INSTALL(CODE "SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})")
713 INSTALL(CODE "SET(DEST ${DEST})")
714 INSTALL(CODE "SET(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})")
717 STRING(REPLACE "\\" "/" KERNEL_ROOT_DIR ${KERNEL_ROOT_DIR})
718 INSTALL(SCRIPT ${KERNEL_ROOT_DIR}/salome_adm/cmake_files/install_and_compile_python_file.cmake)
721 ENDIF(ext STREQUAL .py)
723 ENDFOREACH(f ${nodist_salomeres_DATA})