X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FCMakeLists.txt;h=4e31c6b0110bf99f570b948c5364d23616db231f;hb=6d8bd41fbd1886c00525b5205b9fe5a5e49bda77;hp=1c116faefcc49354573f794eead35c617e6e475e;hpb=89c33033151baa33eeac8fb09d9c0488acb43c35;p=modules%2Fparavis.git diff --git a/idl/CMakeLists.txt b/idl/CMakeLists.txt index 1c116fae..4e31c6b0 100644 --- a/idl/CMakeLists.txt +++ b/idl/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2010-2012 CEA/DEN, EDF R&D +# Copyright (C) 2010-2015 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either -# version 2.1 of the License. +# version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,116 +17,27 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -SET(VERSION_INFO ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE}) -SET(SOVERSION_INFO ${VERSION_MAJOR}.${VERSION_MINOR}) +INCLUDE(UseOmniORB) # Provided by KERNEL -ADD_DEFINITIONS(-DHAVE_SALOME_CONFIG) -INCLUDE_DIRECTORIES(${KERNEL_ROOT_DIR}/include/salome ${CMAKE_BINARY_DIR}/idl) +INCLUDE_DIRECTORIES( + ${OMNIORB_INCLUDE_DIR} + ${PROJECT_BINARY_DIR}/idl +) -#INCLUDE(vtkWrapHierarchy.cmake) -#SET(VTK_WRAP_HIERARCHY_EXE vtkWrapHierarchy) +ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) -INCLUDE(wrap.cmake) - - -SET(BASEIDL_FILES - PARAVIS_Gen_Types.idl - PARAVIS_Gen.idl +SET(SalomeIDLPARAVIS_IDLSOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/PVSERVER_Gen.idl ) - -SET(BASEIDL_SK_FILES - PARAVIS_Gen_TypesSK.cc - PARAVIS_GenSK.cc - ) - -# potential problem on parallel make on the following - multiple outputs -SET(SUFFIXES - .idl - .hh - SK.cc - ) - -SET(srcs) -FOREACH(f ${BASEIDL_SK_FILES} ${WRAP_SK_FILES}) - SET(srcs ${srcs} ${CMAKE_CURRENT_BINARY_DIR}/${f}) -ENDFOREACH(f ${BASEIDL_SK_FILES} ${WRAP_SK_FILES}) - -IF(WINDOWS) -ADD_LIBRARY(SalomeIDLPARAVIS STATIC ${srcs}) -ELSE(WINDOWS) -ADD_LIBRARY(SalomeIDLPARAVIS SHARED ${srcs}) -ENDIF(WINDOWS) - -SET(flags) -FOREACH(f ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${CORBA_INCLUDES} ${CORBA_CXXFLAGS} ${KERNEL_CXXFLAGS}) - SET(flags "${flags} ${f}") -ENDFOREACH(f ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${CORBA_INCLUDES} ${CORBA_CXXFLAGS} ${KERNEL_CXXFLAGS}) - -SET_TARGET_PROPERTIES(SalomeIDLPARAVIS PROPERTIES COMPILE_FLAGS "${flags}") -SET_TARGET_PROPERTIES(SalomeIDLPARAVIS PROPERTIES VERSION ${VERSION_INFO} SOVERSION ${SOVERSION_INFO}) - -TARGET_LINK_LIBRARIES(SalomeIDLPARAVIS ${PLATFORM_LIBADD} ${PLATFORM_LDFLAGS} ${CORBA_LIBS}) -INSTALL(TARGETS SalomeIDLPARAVIS DESTINATION lib/salome) - -ADD_EXECUTABLE(vtkWrapIDL - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParsePreprocess.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseHierarchy.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseExtras.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseMain.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkWrap.c - ${CMAKE_SOURCE_DIR}/src/ParaView/vtkWrapText.c - ${CMAKE_CURRENT_SOURCE_DIR}/vtkWrapIDL.c) - -ADD_DEPENDENCIES(vtkWrapIDL generate_txt) - -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/ParaView) -SET(flags) -FOREACH(f ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${PARAVIEW_INCLUDES} ${VTK_INCLUDES}) - SET(flags "${flags} ${f}") -ENDFOREACH(f ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${PARAVIEW_INCLUDES} ${VTK_INCLUDES}) - -SET_TARGET_PROPERTIES(vtkWrapIDL PROPERTIES COMPILE_FLAGS "${flags}") - -TARGET_LINK_LIBRARIES(vtkWrapIDL ${PLATFORM_LDFLAGS} ${PLATFORM_LIBADD}) -SET(vtkWrapIDL_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL) -IF(WINDOWS) - IF(CMAKE_BUILD_TOOL STREQUAL nmake) - SET(vtkWrapIDL_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/vtkWrapIDL.exe) - ELSE(CMAKE_BUILD_TOOL STREQUAL nmake) - SET(vtkWrapIDL_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/vtkWrapIDL.exe) - ENDIF(CMAKE_BUILD_TOOL STREQUAL nmake) -ENDIF(WINDOWS) -INSTALL(FILES ${vtkWrapIDL_EXEFILE} DESTINATION bin/salome PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - -FOREACH(input ${BASEIDL_FILES} ${WRAP_IDL}) - STRING(REGEX REPLACE ".idl" "" base ${input}) - SET(src ${CMAKE_CURRENT_BINARY_DIR}/${base}SK.cc) - SET(outputs ${src}) - SET(dynsrc ${CMAKE_CURRENT_BINARY_DIR}/${base}DynSK.cc) - SET(outputs ${outputs} ${dynsrc}) - SET(inc ${CMAKE_CURRENT_BINARY_DIR}/${base}.hh) - SET(outputs ${outputs} ${inc}) - LIST(FIND BASEIDL_FILES ${input} BASE_INDEX) - IF(${BASE_INDEX} EQUAL -1) - SET(input ${CMAKE_CURRENT_BINARY_DIR}/${input}) - ELSE(${BASE_INDEX} EQUAL -1) - SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input}) - ENDIF(${BASE_INDEX} EQUAL -1) - ADD_CUSTOM_COMMAND( - OUTPUT ${outputs} - COMMAND ${OMNIORB_IDL} -bcxx ${IDLCXXFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR} -I${KERNEL_ROOT_DIR}/idl/salome ${OMNIORB_IDLCXXFLAGS} ${input} - MAIN_DEPENDENCY ${input} - ) - INSTALL(FILES ${input} DESTINATION idl/salome) - - SET(IDL_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${base}.hh) - INSTALL(FILES ${IDL_HEADER} DESTINATION include/salome) - INSTALL(CODE "SET(IDL_FILE ${input})") - INSTALL(CODE "SET(DIR lib/python${PYTHON_VERSION}/site-packages/salome)") - INSTALL(CODE "SET(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})") - INSTALL(CODE "SET(OMNIORB_IDL_PYTHON ${OMNIORB_IDL_PYTHON})") - INSTALL(CODE "SET(IDLPYFLAGS -bpythonIDL -p${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR} -I${KERNEL_ROOT_DIR}/idl/salome)") - INSTALL(SCRIPT ${KERNEL_ROOT_DIR}/salome_adm/cmake_files/install_python_from_idl.cmake) - -ENDFOREACH(input ${IDL_FILES}) +SET(_idl_include_dirs + ${CMAKE_CURRENT_SOURCE_DIR} + ${KERNEL_ROOT_DIR}/idl/salome + ) +SET(_idl_link_flags + ${KERNEL_SalomeIDLKernel} +) + +# Demand Python generation: +SET(OMNIORB_PYTHON_BACKEND 1) +OMNIORB_ADD_MODULE(SalomeIDLPVServer "${SalomeIDLPARAVIS_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}") +INSTALL(TARGETS SalomeIDLPVServer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})