1 # Copyright (C) 2007-2008 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.
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
24 MESSAGE(STATUS "Check for omniorb ...")
28 IF(OMNIORB_IS_MANDATORY STREQUAL 0)
29 SET(OMNIORB_IS_MANDATORY 0)
30 SET(OMNIORB_IS_OPTIONAL 1)
31 ENDIF(OMNIORB_IS_MANDATORY STREQUAL 0)
32 IF(OMNIORB_IS_OPTIONAL STREQUAL 0)
33 SET(OMNIORB_IS_MANDATORY 1)
34 SET(OMNIORB_IS_OPTIONAL 0)
35 ENDIF(OMNIORB_IS_OPTIONAL STREQUAL 0)
36 IF(NOT OMNIORB_IS_MANDATORY AND NOT OMNIORB_IS_OPTIONAL)
37 SET(OMNIORB_IS_MANDATORY 1)
38 SET(OMNIORB_IS_OPTIONAL 0)
39 ENDIF(NOT OMNIORB_IS_MANDATORY AND NOT OMNIORB_IS_OPTIONAL)
44 IF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
46 MESSAGE(STATUS "omniorb disabled from command line.")
47 ENDIF(WITHOUT_OMNIORB OR WITH_OMNIORB STREQUAL 0)
53 SET(OMNIORB_ROOT_USER ${WITH_OMNIORB})
55 IF(NOT OMNIORB_ROOT_USER)
56 SET(OMNIORB_ROOT_USER $ENV{OMNIORB_ROOT})
57 ENDIF(NOT OMNIORB_ROOT_USER)
58 IF(NOT OMNIORB_ROOT_USER)
59 SET(OMNIORB_ROOT_USER $ENV{OMNIORBHOME})
60 ENDIF(NOT OMNIORB_ROOT_USER)
66 SET(OMNIIDL_EXECUTABLE_TO_FIND omniidl)
68 FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND} PATHS ${OMNIORB_ROOT_USER}/bin)
69 ELSE(OMNIORB_ROOT_USER)
70 FIND_PROGRAM(OMNIIDL_EXECUTABLE ${OMNIIDL_EXECUTABLE_TO_FIND})
71 ENDIF(OMNIORB_ROOT_USER)
72 IF(OMNIIDL_EXECUTABLE)
73 MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} found: ${OMNIIDL_EXECUTABLE}")
74 IF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
75 ELSE(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
76 SET(OMNIORB_ROOT_USER ${OMNIIDL_EXECUTABLE})
77 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
79 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
81 GET_FILENAME_COMPONENT(OMNIORB_ROOT_USER ${OMNIORB_ROOT_USER} PATH)
82 ENDIF(OMNIORB_EXECUTABLE STREQUAL /usr/bin/${OMNIIDL_EXECUTABLE_TO_FIND})
83 ELSE(OMNIIDL_EXECUTABLE)
84 MESSAGE(STATUS "${OMNIIDL_EXECUTABLE_TO_FIND} not found, try to use WITH_OMNIORB option or OMNIORBHOME environment variable")
86 ENDIF(OMNIIDL_EXECUTABLE)
93 SET(OMNIORB_FIND_PATHS_OPTION NO_DEFAULT_PATH)
94 ELSE(OMNIORB_ROOT_USER)
95 SET(OMNIORB_FIND_PATHS_OPTION)
96 ENDIF(OMNIORB_ROOT_USER)
102 SET(OMNIORB_INCLUDES)
103 ENDIF(OMNIORB_STATUS)
105 IF(OMNIORB_ROOT_USER)
106 SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include)
107 ELSE(OMNIORB_ROOT_USER)
108 SET(OMNIORB_INCLUDE_PATHS)
109 ENDIF(OMNIORB_ROOT_USER)
110 SET(OMNIORB_INCLUDE_TO_FIND omniORB4/CORBA.h)
111 FIND_PATH(OMNIORB_INCLUDE_DIR1 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
112 IF(OMNIORB_INCLUDE_DIR1)
113 SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR1})
114 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR1}")
115 ELSE(OMNIORB_INCLUDE_DIR1)
116 SET(OMNIORB_STATUS 0)
117 IF(OMNIORB_ROOT_USER)
118 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
119 ELSE(OMNIORB_ROOT_USER)
120 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
121 ENDIF(OMNIORB_ROOT_USER)
122 ENDIF(OMNIORB_INCLUDE_DIR1)
123 ENDIF(OMNIORB_STATUS)
125 IF(OMNIORB_ROOT_USER)
126 SET(OMNIORB_INCLUDE_PATHS ${OMNIORB_ROOT_USER}/include/omniORB4)
127 ELSE(OMNIORB_ROOT_USER)
128 SET(OMNIORB_INCLUDE_PATHS /usr/include/omniORB4)
129 ENDIF(OMNIORB_ROOT_USER)
130 SET(OMNIORB_INCLUDE_TO_FIND CORBA.h)
131 FIND_PATH(OMNIORB_INCLUDE_DIR2 ${OMNIORB_INCLUDE_TO_FIND} PATHS ${OMNIORB_INCLUDE_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
132 IF(OMNIORB_INCLUDE_DIR2)
133 SET(OMNIORB_INCLUDES ${OMNIORB_INCLUDES} -I${OMNIORB_INCLUDE_DIR2})
134 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} found in ${OMNIORB_INCLUDE_DIR2}")
135 ELSE(OMNIORB_INCLUDE_DIR2)
136 SET(OMNIORB_STATUS 0)
137 MESSAGE(STATUS "${OMNIORB_INCLUDE_TO_FIND} not found in ${OMNIORB_INCLUDE_PATHS}, check your OMNIORB installation.")
138 ENDIF(OMNIORB_INCLUDE_DIR2)
139 ENDIF(OMNIORB_STATUS)
144 SET(OMNIORB_CXXFLAGS)
145 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DOMNIORB_VERSION=4)
146 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__x86__)
147 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_DOUBLE)
148 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -DCOMP_CORBA_LONG)
150 SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__WIN32__)
151 # # # # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D_WIN32_WINNT=0x0400)
152 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__NT__)
153 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__OSVERSION__=4)
155 # SET(OMNIORB_CXXFLAGS ${OMNIORB_CXXFLAGS} -D__linux__)
158 # SET(OMNIORB_LIBS ws2_32.lib mswsock.lib advapi32.lib ${OMNIORB_LIBS})
160 ENDIF(OMNIORB_STATUS)
165 IF(OMNIORB_ROOT_USER)
167 SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib/x86_win32)
169 SET(OMNIORB_LIB_PATHS ${OMNIORB_ROOT_USER}/lib)
171 ELSE(OMNIORB_ROOT_USER)
172 SET(OMNIORB_LIB_PATHS)
173 ENDIF(OMNIORB_ROOT_USER)
174 ENDIF(OMNIORB_STATUS)
178 IF(CMAKE_BUILD_TYPE STREQUAL Release)
179 SET(OMNIORB_LIB_SUFFIX _rt)
180 ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
181 SET(OMNIORB_LIB_SUFFIX _rtd)
182 ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
184 SET(OMNIORB_LIB_SUFFIX)
186 ENDIF(OMNIORB_STATUS)
189 FOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
191 FIND_LIBRARY(${lib}${OMNIORB_LIB_SUFFIX} ${lib}${OMNIORB_LIB_SUFFIX} PATHS ${OMNIORB_LIB_PATHS} ${OMNIORB_FIND_PATHS_OPTION})
192 IF(${lib}${OMNIORB_LIB_SUFFIX})
193 SET(OMNIORB_LIBS ${OMNIORB_LIBS} ${${lib}${OMNIORB_LIB_SUFFIX}})
194 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib found: ${${lib}${OMNIORB_LIB_SUFFIX}}")
195 ELSE(${lib}${OMNIORB_LIB_SUFFIX})
196 SET(OMNIORB_STATUS 0)
197 IF(OMNIORB_ROOT_USER)
198 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found in ${OMNIORB_LIB_PATHS}, check your OMNIORB installation.")
199 ELSE(OMNIORB_ROOT_USER)
200 MESSAGE(STATUS "${lib}${OMNIORB_LIB_SUFFIX} lib not found on system, try to use WITH_OMNIORB option or OMNIORB_ROOT environment variable.")
201 ENDIF(OMNIORB_ROOT_USER)
202 ENDIF(${lib}${OMNIORB_LIB_SUFFIX})
203 ENDIF(OMNIORB_STATUS)
204 ENDFOREACH(lib omniORB4 omniDynamic4 COS4 COSDynamic4 omnithread)
209 SET(OMNIORB_IDL_PYTHON $ENV{OMNIIDL_PYTHON})
210 IF(NOT OMNIORB_IDL_PYTHON)
211 SET(OMNIORB_IDL_PYTHON ${OMNIIDL_EXECUTABLE})
212 ENDIF(NOT OMNIORB_IDL_PYTHON)
213 ENDIF(OMNIORB_STATUS)
219 SET(OMNIORB_IDL ${OMNIIDL_EXECUTABLE})
220 SET(CORBA_INCLUDES ${OMNIORB_INCLUDES})
221 SET(CORBA_CXXFLAGS ${OMNIORB_CXXFLAGS})
222 SET(CORBA_LIBS ${OMNIORB_LIBS})
223 SET(OMNIORB_IDLCXXFLAGS -Wba -nf)
224 SET(OMNIORB_IDLPYFLAGS -bpython)
225 SET(IDLCXXFLAGS ${OMNIORB_IDLCXXFLAGS})
226 SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS})
231 IF(OMNIORB_IS_MANDATORY)
232 MESSAGE(FATAL_ERROR "omniorb not found ... mandatory ... abort")
233 ELSE(OMNIORB_IS_MANDATORY)
234 MESSAGE(STATUS "omniorb not found ... optional ... disabled")
235 ENDIF(OMNIORB_IS_MANDATORY)
236 ENDIF(OMNIORB_STATUS)