1 # Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
3 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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, or (at your option) any later version.
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.
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
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
25 MESSAGE(STATUS "Check for omniorb ...")
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)
45 IF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
47 MESSAGE(STATUS "omniorb disabled from command line.")
48 ENDIF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
54 SET(OMNIORB_ROOT_USER ${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)
67 SET(OMNIIDL_EXECUTABLE_TO_FIND omniidl)
69 SET( FIND_PATH ${OMNIORB_ROOT_USER}/bin/x86_win32)
71 SET( FIND_PATH ${OMNIORB_ROOT_USER}/bin)
74 FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND} PATHS ${FIND_PATH} )
75 ELSE(OMNIORB_ROOT_USER)
76 FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND})
77 ENDIF(OMNIORB_ROOT_USER)
78 IF(OMNIIDL_EXECUTABLE)
79 MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} found: ${OMNIIDL_EXECUTABLE}")
80 IF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
81 ELSE(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
82 SET(OMNIORB_ROOT_USER ${OMNIIDL_EXECUTABLE})
83 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
85 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
87 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
88 ENDIF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
89 ELSE(OMNIIDL_EXECUTABLE)
90 MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} not found, try to use WITH_OMNIORB option or OMNIORBHOME environment variable")
92 ENDIF(OMNIIDL_EXECUTABLE)
99 SET(OMNIORB_FIND_PATHS_OPTION NO_DEFAULT_PATH)
100 ELSE(OMNIORB_ROOT_USER)
101 SET(OMNIORB_FIND_PATHS_OPTION)
102 ENDIF(OMNIORB_ROOT_USER)
103 ENDIF(OMNIORB_STATUS)
108 SET(OMNIORB_INCLUDES) # to be removed
109 SET(OMNIORB_INCLUDE_DIRS)
110 ENDIF(OMNIORB_STATUS)
112 IF(OMNIORB_ROOT_USER)
113 SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include)
114 ELSE(OMNIORB_ROOT_USER)
115 SET(OMNIORB_INCLUDE_PATHS)
116 ENDIF(OMNIORB_ROOT_USER)
117 SET(OMNIORB_INCLUDE_TO_FIND omniORB4/CORBA.h)
118 FIND_PATH(OMNIORB_INCLUDE_DIR1 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
119 IF(OMNIORB_INCLUDE_DIR1)
120 SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR1}) # to be removed
121 SET(OMNIORB_INCLUDE_DIRS ${OMNIORB_INCLUDE_DIR1})
122 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR1}")
123 ELSE(OMNIORB_INCLUDE_DIR1)
124 SET(OMNIORB_STATUS 0)
125 IF(OMNIORB_ROOT_USER)
126 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
127 ELSE(OMNIORB_ROOT_USER)
128 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
129 ENDIF(OMNIORB_ROOT_USER)
130 ENDIF(OMNIORB_INCLUDE_DIR1)
131 ENDIF(OMNIORB_STATUS)
133 IF(OMNIORB_ROOT_USER)
134 SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include/omniORB4)
135 ELSE(OMNIORB_ROOT_USER)
136 SET(OMNIORB_INCLUDE_PATHS /usr/include/omniORB4)
137 ENDIF(OMNIORB_ROOT_USER)
138 SET(OMNIORB_INCLUDE_TO_FIND CORBA.h)
139 FIND_PATH(OMNIORB_INCLUDE_DIR2 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
140 IF(OMNIORB_INCLUDE_DIR2)
141 SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR2}) # to be removed
142 SET(OMNIORB_INCLUDE_DIRS ${OMNIORB_INCLUDE_DIRS} ${OMNIORB_INCLUDE_DIR2})
143 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR2}")
144 ELSE(OMNIORB_INCLUDE_DIR2)
145 SET(OMNIORB_STATUS 0)
146 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
147 ENDIF(OMNIORB_INCLUDE_DIR2)
148 ENDIF(OMNIORB_STATUS)
153 SET(OMNIORB_CXXFLAGS) # to be removed
154 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DOMNIORB_VERSION=4)
155 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__x86__) # to be removed
156 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_DOUBLE) # to be removed
157 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_LONG) # to be removed
158 SET(OMNIORB_DEFINITIONS "-D__x86__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG")
160 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__WIN32__) # to be removed
161 SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__WIN32__")
162 # # # # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D_WIN32_WINNT=0x0400)
163 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__NT__)
164 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__OSVERSION__=4)
166 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__linux__)
169 # SET(OMNIORB_LIBS ws2_32.lib mswsock.lib advapi32.lib ${OMNIORB_LIBS})
171 ENDIF(OMNIORB_STATUS)
176 IF(OMNIORB_ROOT_USER)
178 SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib/x86_win32)
180 SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib)
182 ELSE(OMNIORB_ROOT_USER)
183 SET(OMNIORB_LIB_PATHS)
184 ENDIF(OMNIORB_ROOT_USER)
185 ENDIF(OMNIORB_STATUS)
189 IF(CMAKE_BUILD_TYPE STREQUAL Release)
190 SET(OMNIORB_LIB_SUFFIX _rt)
191 ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
192 SET(OMNIORB_LIB_SUFFIX _rtd)
193 ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
195 SET(OMNIORB_LIB_SUFFIX)
197 ENDIF(OMNIORB_STATUS)
200 FOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
202 FIND_LIBRARY(${lib}${OMNIORB_LIB_SUFFIX} ${lib}${OMNIORB_LIB_SUFFIX} PATHS ${OMNIORB_LIB_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
203 IF(${lib}${OMNIORB_LIB_SUFFIX})
204 SET(OMNIORB_LIBS ${OMNIORB_LIBS} ${${lib}${OMNIORB_LIB_SUFFIX}})
205 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib found: ${${lib}${OMNIORB_LIB_SUFFIX}}")
206 ELSE(${lib}${OMNIORB_LIB_SUFFIX})
207 SET(OMNIORB_STATUS 0)
208 IF(OMNIORB_ROOT_USER)
209 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found in ${OMNIORB_LIB_PATHS}, check your OMNIORB installation.")
210 ELSE(OMNIORB_ROOT_USER)
211 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
212 ENDIF(OMNIORB_ROOT_USER)
213 ENDIF(${lib}${OMNIORB_LIB_SUFFIX})
214 ENDIF(OMNIORB_STATUS)
215 ENDFOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
220 SET(OMNIORB_IDL_PYTHON $ENV{OMNIIDL_PYTHON})
221 IF(NOT OMNIORB_IDL_PYTHON)
222 SET(OMNIORB_IDL_PYTHON ${OMNIIDL_EXECUTABLE})
223 ENDIF(NOT OMNIORB_IDL_PYTHON)
224 ENDIF(OMNIORB_STATUS)
230 SET(OMNIORB_IDL ${OMNIIDL_EXECUTABLE})
231 SET(CORBA_INCLUDES ${OMNIORB_INCLUDES})
232 SET(CORBA_CXXFLAGS ${OMNIORB_CXXFLAGS})# to be removed
233 SET(CORBA_DEFINITIONS ${OMNIORB_DEFINITIONS})
234 SET(CORBA_LIBS ${OMNIORB_LIBS})
235 SET(OMNIORB_IDLCXXFLAGS -Wba -nf)
236 SET(OMNIORB_IDLPYFLAGS -bpython)
237 SET(IDLCXXFLAGS ${OMNIORB_IDLCXXFLAGS})
238 SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS})
243 IF(OMNIORB_IS_MANDATORY)
244 MESSAGE(FATAL_ERROR "omniorb not found ... mandatory ... abort")
245 ELSE(OMNIORB_IS_MANDATORY)
246 MESSAGE(STATUS "omniorb not found ... optional ... disabled")
247 ENDIF(OMNIORB_IS_MANDATORY)
248 ENDIF(OMNIORB_STATUS)