Salome HOME
Merge from BR_PARAVIS_LOT1_2 24/02/2010
[modules/paravis.git] / CMakeLists.txt
1
2             CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
3             IF(COMMAND cmake_policy)
4             cmake_policy(SET CMP0003 NEW)
5             ENDIF(COMMAND cmake_policy)
6             
7
8                 SET(WITH_BOOST $ENV{BOOSTDIR})
9                 SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR})
10                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPLATFORM.cmake)
11                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPYTHON.cmake)
12                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindOMNIORB.cmake)
13                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPTHREADS.cmake)
14                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindHDF5.cmake)
15                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindBOOST.cmake)
16                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindLIBXML2.cmake)
17                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindSWIG.cmake)
18                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindCPPUNIT.cmake)
19                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindDOXYGEN.cmake)
20                 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindKERNEL.cmake)
21                 
22
23                     INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindPARAVIEW.cmake)
24                     IF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
25                     SET(VTK_DIR ${PARAVIEW_VTK_DIR})
26                     ENDIF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
27                     SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR})
28                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindCAS.cmake)
29                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindQT4.cmake)
30                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindOPENGL.cmake)
31                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindVTK.cmake)
32                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindQWT.cmake)
33                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindSIPPYQT.cmake)
34                     INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindGUI.cmake)
35                     
36
37                         SET(BUILD_PLUGINS 1)
38                         SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR})
39                         SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR})
40                         INCLUDE(${MED_ROOT_DIR}/adm_local/cmake_files/FindMED.cmake)
41                         IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
42                         INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
43                         SET(WITH_VISU 1)
44                         ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
45                         EXECUTE_PROCESS(COMMAND pvpython ${CMAKE_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIRS})
46                         
47
48             SET(DOXYGEN_IS_OK 0)
49             
50
51                 IF(WINDOWS)
52                 SET(CPPUNIT_IS_OK 0)
53                 ENDIF(WINDOWS)
54                 
55
56         SET(VERSION_INFO 0.0.0)
57         SET(SOVERSION_INFO 0)
58         SET(SUBDIRS)
59         SET(AM_CPPFLAGS)
60         SET(AM_CXXFLAGS)
61         SET(LDADD)
62         
63
64                 SET(AM_CPPFLAGS ${AM_CPPFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
65                 SET(AM_CXXFLAGS ${AM_CXXFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
66                 
67 #  Copyright (C) 2005  CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D
68 #
69 #  This library is free software; you can redistribute it and/or
70 #  modify it under the terms of the GNU Lesser General Public
71 #  License as published by the Free Software Foundation; either
72 #  version 2.1 of the License.
73 #
74 #  This library is distributed in the hope that it will be useful,
75 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
76 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
77 #  Lesser General Public License for more details.
78 #
79 #  You should have received a copy of the GNU Lesser General Public
80 #  License along with this library; if not, write to the Free Software
81 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
82 #
83 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
84 #
85 # -* Makefile *-
86 #
87 # Author :
88 # Modified by : Alexander BORODIN (OCN) - autotools usage
89 #
90
91 # include $(top_srcdir)/adm_local/unix/make_common_starter.am
92
93 SET(ACLOCAL_AMFLAGS
94     -I
95     adm_local/unix/config_files
96     -I
97     ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files
98     -I
99     ${GUI_ROOT_DIR}/adm_local/unix/config_files
100 )
101
102 SET(SUBDIRS
103     idl
104     adm_local
105     resources
106     src
107     doc
108     bin
109 )
110
111 SET(DISTCLEANFILES
112     a.out
113     aclocal.m4
114     configure
115     wrapfiles.txt
116 )
117
118 SET(salomeinclude_DATA
119     PARAVIS_version.h
120 )
121
122 SET(EXTRA_DIST
123     ${EXTRA_DIST}
124     build_configure
125     clean_configure
126 )
127
128 # include  $(top_srcdir)/wrapfiles.am
129 INCLUDE(wrapfiles.cmake)
130
131 # dist-hook:
132 #       rm -rf `find $(distdir) -name CVS`
133
134 # dev_docs:
135 #       (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs)
136
137 # docs: dev_docs
138
139
140                 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
141                 
142
143                 SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
144                 
145
146                 MESSAGE(STATUS "Creation of ${output}")
147                 CONFIGURE_FILE(${input} ${output})
148                 
149
150             FOREACH(dir ${SUBDIRS})
151             IF(NOT dir STREQUAL .)
152             ADD_SUBDIRECTORY(${dir})
153             ENDIF(NOT dir STREQUAL .)
154             ENDFOREACH(dir ${SUBDIRS})
155             
156 FOREACH(f ${salomeinclude_DATA})
157
158         SET(DEST include/salome)
159         
160
161         STRING(COMPARE EQUAL ${f} SALOMEconfig.h.in test_SALOMEconfig.h.in)
162         IF(test_SALOMEconfig.h.in)
163         INSTALL(FILES SALOMEconfig.ref.in DESTINATION ${DEST} RENAME SALOMEconfig.h.in)
164         ELSE(test_SALOMEconfig.h.in)
165         SET(dummy dummy-NOTFOUND)
166         MARK_AS_ADVANCED(dummy)
167         # FILE(REMOVE ${CMAKE_INSTALL_PREFIX}/${DEST}/${f})
168         FIND_FILE(dummy ${f} PATHS ${CMAKE_CURRENT_SOURCE_DIR} NO_DEFAULT_PATH)
169         IF(dummy)
170         
171
172             GET_FILENAME_COMPONENT(ext ${f} EXT)
173             IF(ext STREQUAL .py)
174             IF(DEST STREQUAL bin/salome)
175             SET(PERMS)
176             SET(PERMS ${PERMS} OWNER_READ OWNER_WRITE OWNER_EXECUTE)
177             SET(PERMS ${PERMS} GROUP_READ GROUP_EXECUTE)
178             SET(PERMS ${PERMS} WORLD_READ WORLD_EXECUTE)
179             INSTALL(FILES ${f} DESTINATION ${DEST} PERMISSIONS ${PERMS})
180             ELSE(DEST STREQUAL bin/salome)
181             INSTALL(FILES ${f} DESTINATION ${DEST})
182             ENDIF(DEST STREQUAL bin/salome)
183             ELSE(ext STREQUAL .py)
184             INSTALL(FILES ${f} DESTINATION ${DEST})
185             ENDIF(ext STREQUAL .py)
186             
187
188         ELSE(dummy)
189         GET_FILENAME_COMPONENT(ext ${f} EXT)
190         IF(ext STREQUAL .qm)
191         STRING(REGEX REPLACE .qm .ts input ${f})
192         
193
194             SET(input ${CMAKE_CURRENT_SOURCE_DIR}/resources/${input})
195             
196
197         SET(output ${CMAKE_CURRENT_BINARY_DIR}/${f})
198         # ADD_CUSTOM_COMMAND(
199         # OUTPUT ${output}
200         # COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output}
201         # MAIN_DEPENDENCY ${input}
202         # )
203         EXECUTE_PROCESS(COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output})
204         ENDIF(ext STREQUAL .qm)
205         INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${f} DESTINATION ${DEST})
206         ENDIF(dummy)
207         ENDIF(test_SALOMEconfig.h.in)
208         
209
210         GET_FILENAME_COMPONENT(ext ${f} EXT)
211         IF(ext STREQUAL .py)
212         INSTALL(CODE "SET(PYTHON_FILE ${f})")
213         INSTALL(CODE "SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})")
214         INSTALL(CODE "SET(DEST ${DEST})")
215         INSTALL(CODE "SET(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})")
216         
217
218             STRING(REPLACE "\\" "/" KERNEL_ROOT_DIR ${KERNEL_ROOT_DIR})
219             INSTALL(SCRIPT ${KERNEL_ROOT_DIR}/salome_adm/cmake_files/install_and_compile_python_file.cmake)
220             
221
222         ENDIF(ext STREQUAL .py)
223         
224 ENDFOREACH(f ${salomeinclude_DATA})