Salome HOME
Refactoring of the preprocessor definitions:
[modules/kernel.git] / salome_adm / cmake_files / FindOmniORB.cmake
index acdb2ac35d7d7732ea2445cea9aa46a64ddd9e77..0cff11b99415df6f63f56da7bb2b88164364a3e6 100644 (file)
@@ -7,7 +7,6 @@
 # OMNIORB_VERSION      - OmniORB4 version
 # OMNIORB_IDL_COMPILER - OmniORB4 idl compiler command (omniidl)
 # OMNIORB_NAMESERVER   - OmniORB4 CORBA naming service (omniNames)
-# OMNIORB_PYTHON_BACKEND
 # and many other mainly used in UseOmniORB.cmake  
 #
 # Detection is made through calls to 
@@ -40,7 +39,7 @@
 
 # minimum OmniORB4 supported version
 # 4.0.6 has known bug float/double marshalling using CORBA::Any
-set(OMNIORB_MINIMUM_VERSION "4.1.2")
+SET(OmniORB_MINIMUM_VERSION "4.1.2")
 
 IF(WIN32)
   # Guide the FIND_LIBRARY command towards the correct directory <...>/lib/x86_win32:
@@ -50,51 +49,44 @@ ENDIF()
 ##############################################################################
 # find headers
 ##############################################################################
-IF (WIN32)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)
-ELSE (WIN32)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h
-    PATHS "${OMNIORB_DIR}/include" "$ENV{OMNIORB_DIR}/include"
-    NO_DEFAULT_PATH)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)
-ENDIF()
+FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)
 
 ##############################################################################
 # find libraries
 ##############################################################################
+
+# Win release / debug specific stuff:
+IF (WIN32)
+  IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+    SET(OMNIORB_RD_SUFFIX d)
+  ELSE()
+    SET(OMNIORB_RD_SUFFIX)
+  ENDIF()
+ENDIF()
+
 IF (WIN32)
   FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 
-    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniORB4${CMAKE_STATIC_LIBRARY_SUFFIX})
+    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniORB4_rt${OMNIORB_RD_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
   FIND_LIBRARY( OMNIORB_LIBRARY_omnithread
-    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omnithread${CMAKE_STATIC_LIBRARY_SUFFIX})
+    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omnithread_rt${OMNIORB_RD_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
   FIND_LIBRARY( OMNIORB_LIBRARY_omniDynamic4
-    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX})
+    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniDynamic4_rt${OMNIORB_RD_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
 ELSE (WIN32)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omniORB4
-    PATHS "${OMNIORB_DIR}/lib${LIB_SUFFIX}" "$ENV{OMNIORB_DIR}/lib${LIB_SUFFIX}"
-    NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omnithread)
-
-  #the rest libraries must be at the same PATH as omniORB4
-  GET_FILENAME_COMPONENT(OMNIORB_LIBRARY_PATH ${OMNIORB_LIBRARY_omniORB4} PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omnithread NAMES omnithread
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniDynamic4 NAMES omniDynamic4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omniORB4)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omnithread NAMES omnithread)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omniDynamic4 NAMES omniDynamic4)
 ENDIF (WIN32)   
-
+  
 # Optional libraries
 
 IF (WIN32)
   FIND_LIBRARY( OMNIORB_LIBRARY_COS4
-    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COS4${CMAKE_STATIC_LIBRARY_SUFFIX})
+    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COS4_rt${OMNIORB_RD_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
   FIND_LIBRARY( OMNIORB_LIBRARY_COSDynamic4
-    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COSDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX}) 
+    NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COSDynamic4_rt${OMNIORB_RD_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) 
 ELSE (WIN32)
-  FIND_LIBRARY(OMNIORB_LIBRARY_COS4 NAMES COS4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_COSDynamic4 NAMES COSDynamic4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
+  FIND_LIBRARY(OMNIORB_LIBRARY_COS4 NAMES COS4)
+  FIND_LIBRARY(OMNIORB_LIBRARY_COSDynamic4 NAMES COSDynamic4)
 ENDIF (WIN32)
 
 ##############################################################################
@@ -108,36 +100,10 @@ IF (WIN32)
     NAMES omniNames PATHS bin/x86_win32 
   DOC "What is the path where omniNames (the ORB server) can be found")
 ELSE(WIN32)
-  FIND_PROGRAM(OMNIORB_IDL_COMPILER NAMES omniidl
-    PATHS "${OMNIORB_DIR}/bin" "$ENV{OMNIORB_DIR}/bin"
-    NO_DEFAULT_PATH)
   FIND_PROGRAM(OMNIORB_IDL_COMPILER NAMES omniidl)
-  FIND_PROGRAM(OMNIORB_NAMESERVER NAMES omniNames
-    PATHS "${OMNIORB_DIR}/bin" "$ENV{OMNIORB_DIR}/bin"
-    NO_DEFAULT_PATH)
   FIND_PROGRAM(OMNIORB_NAMESERVER NAMES omniNames)
 ENDIF (WIN32)
 
-##############################################################################
-# find python back-end
-##############################################################################
-
-SET(_py_version "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
-SET(CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH})
-SET(_doc "Path to python-backend directory (omniidl_be) including python.py file")
-IF(WIN32)
-  FIND_PATH(OMNIORB_PYTHON_BACKEND
-     NAMES python.py PATHS "/lib/python/omniidl_be" DOC ${_doc}) 
-ELSE()
-  FIND_PATH(OMNIORB_PYTHON_BACKEND
-     NAMES __init__.py
-     PATHS
-     "${OMNIORB_DIR}/lib/python${_py_version}/site-packages/omniidl_be" 
-     "$ENV{OMNIORB_DIR}/lib/python${_py_version}/site-packages/omniidl_be" 
-     "/usr/lib/omniidl/omniidl_be" 
-     DOC ${_doc})
-ENDIF()
-
 ##############################################################################
 # Cook our stuff
 ##############################################################################
@@ -145,7 +111,7 @@ ENDIF()
 MARK_AS_ADVANCED(OMNIORB_DIR OMNIORB_INCLUDE_DIR)
 MARK_AS_ADVANCED(OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread OMNIORB_LIBRARY_omniDynamic4)
 MARK_AS_ADVANCED(OMNIORB_IDL_COMPILER OMNIORB_NAMESERVER OMNIORB_VERSION)
-MARK_AS_ADVANCED(OMNIORB_LIBRARY_COS4 OMNIORB_LIBRARY_COSDynamic4 OMNIORB_PYTHON_BACKEND)
+MARK_AS_ADVANCED(OMNIORB_LIBRARY_COS4 OMNIORB_LIBRARY_COSDynamic4)
 
 SET(OMNIORB_LIBRARIES
     ${OMNIORB_LIBRARY_omniORB4}
@@ -169,18 +135,15 @@ ELSE()
     SET( OMNIORB_VERSION "NOT-FOUND" )
 ENDIF( EXISTS ${OMNIORB_INCLUDE_DIR}/omniORB4/acconfig.h )
   
-SET(OMNIORB_IDLCXXFLAGS -Wba -nf)
-SET(OMNIORB_IDLPYFLAGS -bpython)
-IF (OMNIORB_PYTHON_BACKEND) 
-  SET(OMNIORB_IDLPYFLAGS "-p ${OMNIORB_PYTHON_BACKEND} ${OMNIORB_IDLPYFLAGS}")
-ENDIF()
+SET(OMNIORB_IDLCXXFLAGS -bcxx -Wba -nf)
 SET(IDLCXXFLAGS ${OMNIORB_IDLCXXFLAGS})
-SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS})
 SET(IDL_CLN_H .hh)
 SET(IDL_SRV_H .hh)
 SET(OMNIORB_DEFINITIONS "-D__x86__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG")
 IF(WIN32)
-  SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__WIN32__")
+  ## OmniORB isn`t defines SIZEOF_LONG and SIZEOF_INT on WIN32 platform
+  ## Note SIZE_OF_LONG calculates in the SalomeSetupPlatform.cmake 
+  SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__WIN32__ -DSIZEOF_INT=4 -DSIZEOF_LONG=${SIZE_OF_LONG}")
 ENDIF()
 IF(APPLE)
   SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__macos__")#for omnithread.h to be checked...
@@ -191,10 +154,10 @@ INCLUDE(FindPackageHandleStandardArgs)
 IF(OMNIORB_VERSION)
   FIND_PACKAGE_HANDLE_STANDARD_ARGS(OmniORB  
         REQUIRED_VARS OMNIORB_INCLUDE_DIR OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread 
-                      OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER OMNIORB_PYTHON_BACKEND
+                      OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER 
         VERSION_VAR OMNIORB_VERSION )
 ELSE()
   FIND_PACKAGE_HANDLE_STANDARD_ARGS(OmniORB  
         REQUIRED_VARS OMNIORB_INCLUDE_DIR OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread 
-                      OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER OMNIORB_PYTHON_BACKEND)
+                      OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER)
 ENDIF()