Changeset 66a59d6d in OpenModelica


Ignore:
Timestamp:
2020-10-21T14:04:16+02:00 (3 years ago)
Author:
Mahder Gebremedhin <mahder.gebremedhin@…>
Children:
610c20cc
Parents:
86e2a29f
git-author:
Mahder Gebremedhin <mahder.gebremedhin@…> (09/10/20 14:19:28)
git-committer:
Mahder Gebremedhin <mahder.gebremedhin@…> (10/21/20 14:04:16)
Message:

[cmake] Corba support for omniORB on MinGW/OMdev.

  • Corba support for MinGW/OMDev is enabled by the variable OMC_USE_CORBA
  • The file omdev_omniorb_setup.cmake sets up the omniORB libraries and idl compiler for use with CMake.
  • The file omc_omniorb_corba_target.cmake provided a macro for conveniently adding corba targets.
Location:
OMCompiler
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • OMCompiler/CMakeLists.txt

    r662060f4 r66a59d6d  
    1919omc_add_to_report(CMAKE_BUILD_TYPE)
    2020
     21
     22# options
     23option(OMC_USE_CORBA "Should use corba." ON)
     24
     25
    2126omc_add_subdirectory(3rdParty)
    2227omc_add_subdirectory(SimulationRuntime)
  • OMCompiler/Compiler/runtime/CMakeLists.txt

    r86e2a29f r66a59d6d  
    44find_package(Iconv REQUIRED)
    55find_package(BLAS REQUIRED)
    6 # find_package(ZLIB REQUIRED) # We use the minizip lib from 3rdParty/FMIL
     6# find_package(ZLIB REQUIRED) # Not needed. We use the minizip lib from 3rdParty/FMIL instead
     7
     8
     9# make a directory specifically for generated files. If we are asked
     10# for corba support we will generate some files here.
     11set (GENERATED_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated)
     12file(MAKE_DIRECTORY ${GENERATED_DIRECTORY})
     13
    714
    815set(OMC_RUNTIIME_SOURCES Error_omc.cpp Print_omc.c ErrorMessage.cpp
     
    1522                            systemimplmisc.cpp
    1623                            )
     24
     25
     26if(OMC_USE_CORBA AND MINGW)
     27    # setup omniORB for MinGW OMDev
     28    include(.cmake/omdev_omniorb_setup.cmake)
     29
     30    # Include the macro for compiling corba targets.
     31    include(.cmake/omc_omniorb_corba_target.cmake)
     32
     33    # add a corba target for omc_communication.idl. The outputs will be put in the
     34    # generated files directory.
     35    omc_add_omniorb_corba_target(${OMNIIDL_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/omc_communication.idl ${GENERATED_DIRECTORY})
     36
     37    set(OMC_RUNTIME_CORBA_SOURCES ${GENERATED_DIRECTORY}/omc_communication.cc omc_communication_impl.cpp Corba_omc.cpp)
     38    set(OMC_RUNTIIME_SOURCES ${OMC_RUNTIIME_SOURCES} ${OMC_RUNTIME_CORBA_SOURCES})
     39endif(OMC_USE_CORBA AND MINGW)
     40
     41
    1742
    1843add_library(omcruntime STATIC ${OMC_RUNTIIME_SOURCES})
     
    2954target_link_libraries(omcruntime PUBLIC omc::3rd::FMIL::minizip) # We use the minizip lib from 3rdParty/FMIL
    3055# target_link_libraries(omcruntime PUBLIC omc::3rd::gc)
     56
     57if(OMC_USE_CORBA AND MINGW)
     58    target_link_libraries(omcruntime PUBLIC omdev::omniORB::omniORB420_rt)
     59    target_link_libraries(omcruntime PUBLIC omdev::omniORB::omnithread40_rt)
     60    target_compile_definitions(omcruntime PRIVATE USE_CORBA)
     61    target_include_directories(omcruntime PRIVATE ${GENERATED_DIRECTORY})
     62endif(OMC_USE_CORBA AND MINGW)
     63
    3164
    3265target_include_directories(omcruntime INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
     
    4578
    4679target_link_libraries(omcbackendruntime PUBLIC OpenModelicaRuntimeC)
    47 target_link_libraries(omcbackendruntime PUBLIC omc::3rd::fmilib::shared) # We use the minizip lib from 3rdParty/FMIL
     80target_link_libraries(omcbackendruntime PUBLIC omc::3rd::fmilib::shared)
    4881target_link_libraries(omcbackendruntime PUBLIC omc::3rd::gc)
     82target_link_libraries(omcbackendruntime PUBLIC omc::3rd::metis)
    4983
    5084target_include_directories(omcbackendruntime INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
     
    5993add_library(omc::compiler::graphstream ALIAS omcgraphstream)
    6094
    61 target_link_libraries(omcbackendruntime PUBLIC omc::3rd::metis)
    6295target_link_libraries(omcgraphstream PUBLIC OpenModelicaRuntimeC)
    6396target_link_libraries(omcgraphstream PUBLIC omc::3rd::netstream)
  • OMCompiler/Compiler/runtime/Corba_omc.cpp

    r83be5f2b r66a59d6d  
    3434extern "C" {
    3535
    36 #include "meta_modelica.h"
     36#include "meta/meta_modelica.h"
    3737#include "ModelicaUtilities.h"
    3838
Note: See TracChangeset for help on using the changeset viewer.