]> SALOME platform Git repositories - modules/kernel.git/blob - salome_adm/cmake_files/FindOMNIORB.cmake
Salome HOME
Sorry for bugs in string. Dealing with HDF5 compiled with mpi. addition of MPI_INCLUD...
[modules/kernel.git] / salome_adm / cmake_files / FindOMNIORB.cmake
1 # Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License.
10 #
11 # This library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # Lesser General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this library; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22
23 # ------
24
25 MESSAGE(STATUS "Check for omniorb ...")
26
27 # ------
28
29 IF(OMNIORB_IS_MANDATORY STREQUAL 0)
30   SET(OMNIORB_IS_MANDATORY 0)
31   SET(OMNIORB_IS_OPTIONAL 1)
32 ENDIF(OMNIORB_IS_MANDATORY STREQUAL 0)
33 IF(OMNIORB_IS_OPTIONAL STREQUAL 0)
34   SET(OMNIORB_IS_MANDATORY 1)
35   SET(OMNIORB_IS_OPTIONAL 0)
36 ENDIF(OMNIORB_IS_OPTIONAL STREQUAL 0)
37 IF(NOT OMNIORB_IS_MANDATORY AND NOT OMNIORB_IS_OPTIONAL)
38   SET(OMNIORB_IS_MANDATORY 1)
39   SET(OMNIORB_IS_OPTIONAL 0)
40 ENDIF(NOT OMNIORB_IS_MANDATORY AND NOT OMNIORB_IS_OPTIONAL)
41
42 # ------
43
44 SET(OMNIORB_STATUS 1)
45 IF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
46   SET(OMNIORB_STATUS 0)
47   MESSAGE(STATUS "omniorb disabled from command line.")
48 ENDIF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
49
50 # ------
51
52 IF(OMNIORB_STATUS)
53   IF(WITH_OMNIORB)
54     SET(OMNIORB_ROOT_USER ${WITH_OMNIORB})
55   ENDIF(WITH_OMNIORB)
56   IF(NOT OMNIORB_ROOT_USER)
57     SET(OMNIORB_ROOT_USER $ENV{OMNIORB_ROOT})
58   ENDIF(NOT OMNIORB_ROOT_USER)
59   IF(NOT OMNIORB_ROOT_USER)
60     SET(OMNIORB_ROOT_USER $ENV{OMNIORBHOME})
61   ENDIF(NOT OMNIORB_ROOT_USER)
62 ENDIF(OMNIORB_STATUS)
63
64 # ------
65
66 IF(OMNIORB_STATUS)
67   SET(OMNIIDL_EXECUTABLE_TO_FIND omniidl)
68   IF(OMNIORB_ROOT_USER)
69     FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND} PATHS ${OMNIORB_ROOT_USER}/bin)
70   ELSE(OMNIORB_ROOT_USER)
71     FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND})
72   ENDIF(OMNIORB_ROOT_USER)
73   IF(OMNIIDL_EXECUTABLE)
74     MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} found: ${OMNIIDL_EXECUTABLE}")
75     IF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
76     ELSE(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
77       SET(OMNIORB_ROOT_USER ${OMNIIDL_EXECUTABLE})
78       GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
79       IF(WINDOWS)
80         GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
81       ENDIF(WINDOWS)
82       GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
83     ENDIF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
84   ELSE(OMNIIDL_EXECUTABLE)
85     MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} not found, try to use WITH_OMNIORB option or OMNIORBHOME environment variable")
86     SET(OMNIORB_STATUS 0)
87   ENDIF(OMNIIDL_EXECUTABLE)
88 ENDIF(OMNIORB_STATUS)
89
90 # ------
91
92 IF(OMNIORB_STATUS)
93   IF(OMNIORB_ROOT_USER)
94     SET(OMNIORB_FIND_PATHS_OPTION NO_DEFAULT_PATH)
95   ELSE(OMNIORB_ROOT_USER)
96     SET(OMNIORB_FIND_PATHS_OPTION)
97   ENDIF(OMNIORB_ROOT_USER)
98 ENDIF(OMNIORB_STATUS)
99
100 # ------
101
102 IF(OMNIORB_STATUS)
103   SET(OMNIORB_INCLUDES) # to be removed
104   SET(OMNIORB_INCLUDES_DIR)
105 ENDIF(OMNIORB_STATUS)
106 IF(OMNIORB_STATUS)
107   IF(OMNIORB_ROOT_USER)
108     SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include)
109   ELSE(OMNIORB_ROOT_USER)
110     SET(OMNIORB_INCLUDE_PATHS)
111   ENDIF(OMNIORB_ROOT_USER)
112   SET(OMNIORB_INCLUDE_TO_FIND omniORB4/CORBA.h)
113   FIND_PATH(OMNIORB_INCLUDE_DIR1 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
114   IF(OMNIORB_INCLUDE_DIR1)
115     SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR1}) # to be removed
116     SET(OMNIORB_INCLUDES_DIR ${OMNIORB_INCLUDE_DIR1})
117     MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR1}")
118   ELSE(OMNIORB_INCLUDE_DIR1)
119     SET(OMNIORB_STATUS 0)
120     IF(OMNIORB_ROOT_USER)
121       MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
122     ELSE(OMNIORB_ROOT_USER)
123       MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
124     ENDIF(OMNIORB_ROOT_USER)
125   ENDIF(OMNIORB_INCLUDE_DIR1)
126 ENDIF(OMNIORB_STATUS)
127 IF(OMNIORB_STATUS)
128   IF(OMNIORB_ROOT_USER)
129     SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include/omniORB4)
130   ELSE(OMNIORB_ROOT_USER)
131     SET(OMNIORB_INCLUDE_PATHS /usr/include/omniORB4)
132   ENDIF(OMNIORB_ROOT_USER)
133   SET(OMNIORB_INCLUDE_TO_FIND CORBA.h)
134   FIND_PATH(OMNIORB_INCLUDE_DIR2 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
135   IF(OMNIORB_INCLUDE_DIR2)
136     SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR2}) # to be removed
137     SET(OMNIORB_INCLUDES_DIR ${OMNIORB_INCLUDES_DIR} ${OMNIORB_INCLUDE_DIR2})
138     MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR2}")
139   ELSE(OMNIORB_INCLUDE_DIR2)
140     SET(OMNIORB_STATUS 0)
141     MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
142   ENDIF(OMNIORB_INCLUDE_DIR2)
143 ENDIF(OMNIORB_STATUS)
144
145 # ------
146
147 IF(OMNIORB_STATUS)
148   SET(OMNIORB_CXXFLAGS) # to be removed
149   # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DOMNIORB_VERSION=4)
150   SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__x86__) # to be removed
151   SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_DOUBLE) # to be removed
152   SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_LONG) # to be removed
153   SET(OMNIORB_FLAGS "-D__x86__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG")
154   IF(WINDOWS)
155     SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__WIN32__)
156     #    #  #  # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D_WIN32_WINNT=0x0400)
157     #    SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__NT__)
158     #    SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__OSVERSION__=4)
159     #  ELSE(WINDOWS)
160     #    SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__linux__)
161   ENDIF(WINDOWS)
162   #  IF(WINDOWS)
163   #    SET(OMNIORB_LIBS ws2_32.lib mswsock.lib advapi32.lib ${OMNIORB_LIBS})
164   #  ENDIF(WINDOWS)
165 ENDIF(OMNIORB_STATUS)
166
167 # ----
168
169 IF(OMNIORB_STATUS)
170   IF(OMNIORB_ROOT_USER)
171     IF(WINDOWS)
172       SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib/x86_win32)
173     ELSE(WINDOWS)
174       SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib)
175     ENDIF(WINDOWS)
176   ELSE(OMNIORB_ROOT_USER)
177     SET(OMNIORB_LIB_PATHS)
178   ENDIF(OMNIORB_ROOT_USER)
179 ENDIF(OMNIORB_STATUS)
180
181 IF(OMNIORB_STATUS)
182   IF(WINDOWS)
183     IF(CMAKE_BUILD_TYPE STREQUAL Release)
184       SET(OMNIORB_LIB_SUFFIX _rt)
185     ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
186       SET(OMNIORB_LIB_SUFFIX _rtd)
187     ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
188   ELSE(WINDOWS)
189     SET(OMNIORB_LIB_SUFFIX)
190   ENDIF(WINDOWS)
191 ENDIF(OMNIORB_STATUS)
192
193 SET(OMNIORB_LIBS)
194 FOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
195   IF(OMNIORB_STATUS)
196     FIND_LIBRARY(${lib}${OMNIORB_LIB_SUFFIX} ${lib}${OMNIORB_LIB_SUFFIX} PATHS ${OMNIORB_LIB_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
197     IF(${lib}${OMNIORB_LIB_SUFFIX})
198       SET(OMNIORB_LIBS ${OMNIORB_LIBS} ${${lib}${OMNIORB_LIB_SUFFIX}})
199       MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib found: ${${lib}${OMNIORB_LIB_SUFFIX}}")
200     ELSE(${lib}${OMNIORB_LIB_SUFFIX})
201       SET(OMNIORB_STATUS 0)
202       IF(OMNIORB_ROOT_USER)
203         MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found in ${OMNIORB_LIB_PATHS}, check your OMNIORB installation.")
204       ELSE(OMNIORB_ROOT_USER)
205         MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
206       ENDIF(OMNIORB_ROOT_USER)
207     ENDIF(${lib}${OMNIORB_LIB_SUFFIX})
208   ENDIF(OMNIORB_STATUS)
209 ENDFOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
210
211 # ----------------
212
213 IF(OMNIORB_STATUS)
214   SET(OMNIORB_IDL_PYTHON $ENV{OMNIIDL_PYTHON})
215   IF(NOT OMNIORB_IDL_PYTHON)
216     SET(OMNIORB_IDL_PYTHON ${OMNIIDL_EXECUTABLE})
217   ENDIF(NOT OMNIORB_IDL_PYTHON)
218 ENDIF(OMNIORB_STATUS)
219
220 # ----
221
222 IF(OMNIORB_STATUS)
223   SET(CORBA_GEN 1)
224   SET(OMNIORB_IDL ${OMNIIDL_EXECUTABLE})
225   SET(CORBA_INCLUDES ${OMNIORB_INCLUDES})
226   SET(CORBA_CXXFLAGS ${OMNIORB_CXXFLAGS})
227   SET(CORBA_FLAGS ${OMNIORB_CXXFLAGS})
228   SET(CORBA_LIBS ${OMNIORB_LIBS})
229   SET(OMNIORB_IDLCXXFLAGS -Wba -nf)
230   SET(OMNIORB_IDLPYFLAGS -bpython)
231   SET(IDLCXXFLAGS ${OMNIORB_IDLCXXFLAGS})
232   SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS})
233   SET(IDL_CLN_H .hh)
234   SET(IDL_SRV_H .hh)
235 ELSE(OMNIORB_STATUS)
236   SET(CORBA_GEN 0)
237   IF(OMNIORB_IS_MANDATORY)
238     MESSAGE(FATAL_ERROR "omniorb not found ... mandatory ... abort")
239   ELSE(OMNIORB_IS_MANDATORY)
240     MESSAGE(STATUS "omniorb not found ... optional ... disabled")
241   ENDIF(OMNIORB_IS_MANDATORY)
242 ENDIF(OMNIORB_STATUS)
243
244 # ----