Salome HOME
Merge from BR_PARAVIS_LOT1_2 24/02/2010
[modules/paravis.git] / src / PVGUI / CMakeLists.txt
1
2         SET(VERSION_INFO 0.0.0)
3         SET(SOVERSION_INFO 0)
4         SET(SUBDIRS)
5         SET(AM_CPPFLAGS)
6         SET(AM_CXXFLAGS)
7         SET(LDADD)
8         
9
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)
12                 
13 #  PARAVIS : ParaView wrapper SALOME module
14 #
15 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
16 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
17 #
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.
22 #
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.
27 #
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
31 #
32 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
33 #
34 #  Author : Julia DOROVSKIKH
35 #  Date   : 01/06/2005
36 #  Modified by : Alexander BORODIN (OCN) - autotools usage
37
38 # include $(top_srcdir)/adm_local/unix/make_common_starter.am
39
40 IF(WITH_VISU)
41  SET(VISU_PARAVIS_LIBS
42      -lSalomeIDLVISU
43  )
44  SET(VISU_PARAVIS_DEFINES
45      -DWITH_VISU
46  )
47 ENDIF(WITH_VISU)
48
49 #Executable
50 SET(bin_PROGRAMS
51     vtkWrapIDL_HH
52     vtkWrapIDL_CC
53 )
54
55 SET(dist_vtkWrapIDL_HH_SOURCES
56     ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c
57     ${CMAKE_SOURCE_DIR}/idl/vtkWrapIDL.c
58 )
59 SET(dist_vtkWrapIDL_CC_SOURCES
60     ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c
61     ${CMAKE_SOURCE_DIR}/idl/vtkWrapIDL.c
62 )
63
64 SET(vtkWrapIDL_HH_CPPFLAGS
65     -DIDL_I_HH
66     -I${CMAKE_CURRENT_SOURCE_DIR}/../ParaView
67     -I${CMAKE_BINARY_DIR}/idl
68     ${PARAVIEW_INCLUDES}
69     ${VTK_INCLUDES}
70 )
71
72 SET(vtkWrapIDL_CC_CPPFLAGS
73     -DIDL_I_CC
74     -I${CMAKE_CURRENT_SOURCE_DIR}/../ParaView
75     -I${CMAKE_BINARY_DIR}/idl
76     ${PARAVIEW_INCLUDES}
77     ${VTK_INCLUDES}
78 )
79
80 # $(srcdir)/wrap.am: $(top_srcdir)/wrapfiles.txt
81 #       @cd $(srcdir) && $(srcdir)/create_wrap.sh
82
83 # include $(srcdir)/wrap.am
84 INCLUDE(wrap.cmake)
85
86 # PARAVIS_CreateClass.cxx: $(top_srcdir)/wrapfiles.txt $(WRAP_IDL_I_HH)
87 #       @$(srcdir)/create_class.sh $(top_srcdir)
88
89 # Library target
90 SET(lib_LTLIBRARIES
91     libPARAVIS.la
92 )
93
94 # Library sources
95 SET(dist_libPARAVIS_la_SOURCES
96     PVGUI_Module.h
97     PVGUI_Module_impl.h
98     PVGUI_Module.cxx
99     PVGUI_Module_actions.cxx
100     PVGUI_Module_widgets.cxx
101     PVGUI_ViewManager.h
102     PVGUI_ViewManager.cxx
103     PVGUI_ViewModel.h
104     PVGUI_ViewModel.cxx
105     PVGUI_ViewWindow.h
106     PVGUI_ViewWindow.cxx
107     PVGUI_OutputWindowAdapter.h
108     PVGUI_OutputWindowAdapter.cxx
109     PVGUI_Tools.h
110     PVGUI_Tools.cxx
111     PV_I.h
112     PARAVIS_Gen_i.hh
113     PV_Events.h
114     PV_Tools.h
115     PARAVIS_Gen_i.cc
116     PV_Tools.cxx
117     ${WRAP_IDL_I_HH}
118     ${WRAP_IDL_I_CC}
119     PARAVIS_CreateClass.cxx
120 )
121
122 # MOC pre-processing
123 SET(MOC_FILES
124     PVGUI_Module_moc.cxx
125     PVGUI_ViewManager_moc.cxx
126     PVGUI_ViewModel_moc.cxx
127     PVGUI_ViewWindow_moc.cxx
128 )
129
130 SET(nodist_libPARAVIS_la_SOURCES
131     ${MOC_FILES}
132 )
133
134 # additionnal compilation flags
135 # Note that ParaView uses HDF5
136 SET(libPARAVIS_la_CPPFLAGS
137     -ftemplate-depth-32
138     ${HDF5_INCLUDES}
139     ${QT_INCLUDES}
140     ${QT_ASSISTANT_INCLUDES}
141     ${PARAVIEW_INCLUDES}
142     ${VTK_INCLUDES}
143     ${CAS_CPPFLAGS}
144     ${PYTHON_INCLUDES}
145     ${CAS_CPPFLAGS}
146     ${CAS_CXXFLAGS}
147     ${KERNEL_CXXFLAGS}
148     ${CORBA_CXXFLAGS}
149     ${CORBA_INCLUDES}
150     ${GUI_CXXFLAGS}
151     ${VISU_CXXFLAGS}
152     ${MED_CXXFLAGS}
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}
158 )
159
160 # additionnal linkage flags
161 # Note that ParaView uses HDF5
162 SET(libPARAVIS_la_LDFLAGS
163     ${PYTHON_LIBS}
164     ${QT_MT_LIBS}
165     ${HDF5_LIBS}
166     ${QT_ASSISTANT_LIBS}
167     ${PARAVIEW_LIBS}
168     ${CMAKE_BINARY_DIR}/idl/libSalomeIDLPARAVIS.la
169     ${KERNEL_LDFLAGS}
170     ${SalomeNS}
171     ${SalomeDSClient}
172     ${SalomeContainer}
173     ${SalomeLifeCycleCORBA}
174     ${GUI_LDFLAGS}
175     ${SalomeApp}
176     ${LightApp}
177     ${VISU_LDFLAGS}
178     ${VISU_PARAVIS_LIBS}
179 )
180
181 SET(libPARAVIS_la_LIBADD
182     ${SalomeIDLKernel}
183     ${SalomeHDFPersist}
184     ${SalomeGenericObj}
185     ${SalomeContainer}
186     ${SalomeCommunication}
187     ${SalomeNS}
188     ${TOOLSDS}
189     ${OpUtil}
190     ${SalomeLifeCycleCORBA}
191     ${Event}
192     ${SalomeApp}
193     ${SalomeSession}
194     ${qtx}
195     ${LightApp}
196 )
197
198 #       
199 # resources files
200 SET(nodist_salomeres_DATA
201     PARAVIS_images.qm
202     PARAVIS_msg_en.qm
203 )
204
205 # mostlyclean-local: clean-wrap
206
207 # clean-wrap:
208 #       -rm -f *.hh *.cc PARAVIS_CreateClass.cxx
209
210
211             FOREACH(dir ${SUBDIRS})
212             IF(NOT dir STREQUAL .)
213             ADD_SUBDIRECTORY(${dir})
214             ENDIF(NOT dir STREQUAL .)
215             ENDFOREACH(dir ${SUBDIRS})
216             
217
218         FOREACH(amname ${lib_LTLIBRARIES})
219         
220
221         STRING(REPLACE .la _la amname ${amname})
222         
223
224         STRING(LENGTH ${amname} len)
225         MATH(EXPR newlen "${len}-3")
226         STRING(SUBSTRING ${amname} 0 ${newlen} name)
227         
228
229         STRING(REGEX MATCH "^lib" BEGIN_WITH_lib ${name})
230         IF(BEGIN_WITH_lib)
231         STRING(LENGTH ${name} len)
232         MATH(EXPR newlen "${len}-3")
233         STRING(SUBSTRING ${name} 3 ${newlen} name)
234         ENDIF(BEGIN_WITH_lib)
235         
236
237         STRING(REGEX MATCH "IDL" ISIDL ${name})
238         
239
240         IF(ISIDL)
241         IF(WINDOWS)
242         SET(type STATIC)
243         ELSE(WINDOWS)
244         SET(type SHARED)
245         ENDIF(WINDOWS)
246         ELSE(ISIDL)
247         SET(type SHARED)
248         ENDIF(ISIDL)
249         
250
251         SET(srcs)
252         FOREACH(src ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
253         GET_FILENAME_COMPONENT(ext ${src} EXT)
254         IF(ext STREQUAL .f)
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})
259         SET(output ${src})
260         ADD_CUSTOM_COMMAND(
261         OUTPUT ${output}
262         COMMAND f2c ${input}
263         MAIN_DEPENDENCY ${input}
264         )
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})
269         SET(output ${src})
270         IF(WINDOWS)
271         SET(F77 g77)
272         ELSE(WINDOWS)
273         SET(F77 gfortran)
274         ENDIF(WINDOWS)
275         ADD_CUSTOM_COMMAND(
276         OUTPUT ${output}
277         COMMAND ${F77} -c -o ${output} ${input}
278         MAIN_DEPENDENCY ${input}
279         )
280         ENDIF(src STREQUAL trte.f)
281         ENDIF(ext STREQUAL .f)
282         SET(srcs ${srcs} ${src})
283         ENDFOREACH(src ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
284         
285
286         SET(l ${nodist_${amname}_SOURCES} ${UIC_FILES})
287         FOREACH(f ${l})
288         SET(src ${CMAKE_CURRENT_BINARY_DIR}/${f})
289         SET(srcs ${srcs} ${src})
290         ENDFOREACH(f ${l})
291         
292
293         SET(build_srcs)
294         SET(l ${nodist_${amname}_SOURCES} ${BUILT_SOURCES})
295         FOREACH(f ${l})
296         GET_FILENAME_COMPONENT(ext ${f} EXT)
297         IF(ext STREQUAL .py)
298         ELSE(ext STREQUAL .py)
299         SET(build_srcs ${build_srcs} ${CMAKE_CURRENT_BINARY_DIR}/${f})
300         ENDIF(ext STREQUAL .py)
301         ENDFOREACH(f ${l})
302         
303
304         ADD_LIBRARY(${name} ${type} ${srcs})
305         
306
307         SET(var)
308         IF(WINDOWS)
309         SET(targets)
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})
324         ENDIF(WINDOWS)
325         
326
327         IF(WINDOWS)
328         SET(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})
338         ENDIF(WINDOWS)
339         
340
341         SET(var ${var} ${AM_CPPFLAGS})
342         SET(var ${var} ${AM_CXXFLAGS})
343         
344
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})
350         SET(vars)
351         IF(WINDOWS)
352         SET(vars ${vars} -include SALOMEconfig.h)
353         SET(vars ${vars} -ftemplate-depth-32)
354         SET(vars ${vars} -fPIC)
355         SET(vars ${vars} -g)
356         ENDIF(WINDOWS)
357         SET(flags)
358         FOREACH(f ${var})
359         FOREACH(v ${vars})
360         IF(f STREQUAL v)
361         SET(f)
362         ENDIF(f STREQUAL v)
363         ENDFOREACH(v ${vars})
364         SET(flags "${flags} ${f}")
365         ENDFOREACH(f ${var})
366         SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${flags}")
367         
368
369         SET_TARGET_PROPERTIES(${name} PROPERTIES VERSION ${VERSION_INFO} SOVERSION ${SOVERSION_INFO})
370         
371
372         SET(libadd)
373         
374
375         IF(WINDOWS)
376         SET(targets)
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})
386         ENDIF(WINDOWS)
387         
388
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)
395         
396
397         FOREACH(lib ${libs})
398         GET_FILENAME_COMPONENT(ext ${lib} EXT)
399         IF(ext STREQUAL .la)
400         GET_FILENAME_COMPONENT(lib ${lib} NAME_WE)
401         STRING(REGEX REPLACE "^lib" "" lib ${lib})
402         ENDIF(ext STREQUAL .la)
403         SET(vars)
404         SET(vars ${vars} -no-undefined)
405         SET(vars ${vars} -lvtkWidgets)
406         IF(WINDOWS)
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)
415         ENDIF(WINDOWS)
416         FOREACH(v ${vars})
417         IF(lib STREQUAL v)
418         SET(lib)
419         ENDIF(lib STREQUAL v)
420         ENDFOREACH(v ${vars})
421         SET(libadd ${libadd} ${lib})
422         ENDFOREACH(lib ${libs})
423         TARGET_LINK_LIBRARIES(${name} ${libadd})
424         
425
426         IF(WINDOWS)
427         SET(targets)
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})
436         ENDIF(WINDOWS)
437         
438
439                 SET(DEST lib/salome)
440                 
441
442             IF(BEGIN_WITH_lib)
443             INSTALL(TARGETS ${name} DESTINATION ${DEST})
444             
445
446             ELSE(BEGIN_WITH_lib)
447             
448
449             IF(WINDOWS)
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)
456             ELSE(WINDOWS)
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)
462             ENDIF(WINDOWS)
463             
464
465             ENDIF(BEGIN_WITH_lib)
466             
467
468         ENDFOREACH(amname ${lib_LTLIBRARIES})
469         
470
471         FOREACH(amname ${bin_PROGRAMS} ${check_PROGRAMS})
472         
473
474         SET(name "${amname}_exe")
475         SET(srcs ${${amname}_SOURCES} ${dist_${amname}_SOURCES})
476         SET(l ${nodist_${amname}_SOURCES})
477         FOREACH(f ${l})
478         SET(src ${CMAKE_CURRENT_BINARY_DIR}/${f})
479         SET(srcs ${srcs} ${src})
480         ENDFOREACH(f ${l})
481         LIST(LENGTH srcs nb)
482         IF(nb)
483         ADD_EXECUTABLE(${name} ${srcs})
484         
485
486         SET(var)
487         IF(WINDOWS)
488         SET(targets)
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})
503         ENDIF(WINDOWS)
504         
505
506         IF(WINDOWS)
507         SET(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})
517         ENDIF(WINDOWS)
518         
519
520         SET(var ${var} ${AM_CPPFLAGS})
521         SET(var ${var} ${AM_CXXFLAGS})
522         
523
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})
529         SET(vars)
530         IF(WINDOWS)
531         SET(vars ${vars} -include SALOMEconfig.h)
532         SET(vars ${vars} -ftemplate-depth-32)
533         SET(vars ${vars} -fPIC)
534         SET(vars ${vars} -g)
535         ENDIF(WINDOWS)
536         SET(flags)
537         FOREACH(f ${var})
538         FOREACH(v ${vars})
539         IF(f STREQUAL v)
540         SET(f)
541         ENDIF(f STREQUAL v)
542         ENDFOREACH(v ${vars})
543         SET(flags "${flags} ${f}")
544         ENDFOREACH(f ${var})
545         SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${flags}")
546         
547
548         SET(libadd)
549         
550
551         IF(WINDOWS)
552         SET(targets)
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})
562         ENDIF(WINDOWS)
563         
564
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)
571         
572
573             SET(libs ${libs} ${LDADD})
574             
575
576         FOREACH(lib ${libs})
577         GET_FILENAME_COMPONENT(ext ${lib} EXT)
578         IF(ext STREQUAL .la)
579         GET_FILENAME_COMPONENT(lib ${lib} NAME_WE)
580         STRING(REGEX REPLACE "^lib" "" lib ${lib})
581         ENDIF(ext STREQUAL .la)
582         SET(vars)
583         SET(vars ${vars} -no-undefined)
584         SET(vars ${vars} -lvtkWidgets)
585         IF(WINDOWS)
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)
594         ENDIF(WINDOWS)
595         FOREACH(v ${vars})
596         IF(lib STREQUAL v)
597         SET(lib)
598         ENDIF(lib STREQUAL v)
599         ENDFOREACH(v ${vars})
600         SET(libadd ${libadd} ${lib})
601         ENDFOREACH(lib ${libs})
602         TARGET_LINK_LIBRARIES(${name} ${libadd})
603         
604
605         IF(WINDOWS)
606         SET(targets)
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})
615         ENDIF(WINDOWS)
616         
617
618             SET(DEST bin/salome)
619             
620
621             IF(WINDOWS)
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)")
625             ELSE(WINDOWS)
626             SET(PERMS)
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})
631             ENDIF(WINDOWS)
632             
633
634         ENDIF(nb)
635         
636
637         ENDFOREACH(amname ${bin_PROGRAMS} ${check_PROGRAMS})
638         
639
640             FOREACH(output ${MOC_FILES})
641             
642
643                 STRING(REGEX REPLACE _moc.cxx .h input ${output})
644                 
645
646             SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input})
647             SET(output ${CMAKE_CURRENT_BINARY_DIR}/${output})
648             ADD_CUSTOM_COMMAND(
649             OUTPUT ${output}
650             COMMAND ${QT_MOC_EXECUTABLE} ${MOC_FLAGS} ${input} -o ${output}
651             MAIN_DEPENDENCY ${input}
652             )
653             ENDFOREACH(output ${MOC_FILES})
654             
655 FOREACH(f ${nodist_salomeres_DATA})
656
657         SET(DEST share/salome/resources/paravis)
658         
659
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)
668         IF(dummy)
669         
670
671             GET_FILENAME_COMPONENT(ext ${f} EXT)
672             IF(ext STREQUAL .py)
673             IF(DEST STREQUAL bin/salome)
674             SET(PERMS)
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)
685             
686
687         ELSE(dummy)
688         GET_FILENAME_COMPONENT(ext ${f} EXT)
689         IF(ext STREQUAL .qm)
690         STRING(REGEX REPLACE .qm .ts input ${f})
691         
692
693             SET(input ${CMAKE_CURRENT_SOURCE_DIR}/resources/${input})
694             
695
696         SET(output ${CMAKE_CURRENT_BINARY_DIR}/${f})
697         # ADD_CUSTOM_COMMAND(
698         # OUTPUT ${output}
699         # COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output}
700         # MAIN_DEPENDENCY ${input}
701         # )
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})
705         ENDIF(dummy)
706         ENDIF(test_SALOMEconfig.h.in)
707         
708
709         GET_FILENAME_COMPONENT(ext ${f} EXT)
710         IF(ext STREQUAL .py)
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})")
715         
716
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)
719             
720
721         ENDIF(ext STREQUAL .py)
722         
723 ENDFOREACH(f ${nodist_salomeres_DATA})