--- /dev/null
+project('orte', 'c')
+
+subdir('orte')
--- /dev/null
+executable('h_publisher', 'h_publisher.c',
+ dependencies: liborte_dep)
+executable('h_subscriber', 'h_subscriber.c',
+ dependencies: liborte_dep)
--- /dev/null
+subdir('ping')
+subdir('multicast')
+subdir('spy')
+subdir('hello')
+subdir('reliable')
+subdir('schneider')
+subdir('mpo')
+subdir('type')
+#subdir('rtems-shell')
--- /dev/null
+executable('m_subscriber', 'm_subscriber.c',
+ dependencies: liborte_dep)
--- /dev/null
+executable('orteping', 'orteping.c',
+ dependencies: liborte_dep)
--- /dev/null
+executable('r_publisher', 'r_publisher.c',
+ dependencies: liborte_dep)
+executable('r_subscriber_reliable', 'r_subscriber_reliable.c',
+ dependencies: liborte_dep)
+executable('r_subscriber_besteffort', 'r_subscriber_besteffort.c',
+ dependencies: liborte_dep)
--- /dev/null
+executable('schneider_subscriber', 'schneider_subscriber.c',
+ dependencies: liborte_dep)
--- /dev/null
+executable('ortespy', 'ortespy.c',
+ dependencies: liborte_dep)
--- /dev/null
+gen_src = gen_orte_idl.process('ThreeTypes.idl', 'test-any.idl')
+#library('type', gen_src)
--- /dev/null
+orte_idl = executable(
+ 'orte-idl',
+ [
+ 'orte-idl-main.c',
+ 'orte-idl-driver.c',
+ 'orte-idl-utils.c',
+ 'orte-idl-c-backend.c',
+ 'orte-idl-c-headers.c',
+ 'orte-idl-c-impls.c',
+ 'orte-idl-c-utils.c',
+ ],
+ dependencies: [
+ dependency('popt'),
+ dependency('libIDL-2.0'),
+ ],
+ install: true,
+)
+
+# TODO: Add support for output directory to orte-idl
+gen_orte_idl = generator(
+ orte_idl,
+ output: ['@BASENAME@.c', '@BASENAME@.h'],
+ arguments : ['@INPUT@'],
+)
--- /dev/null
+
+install_headers(
+ 'orte.h',
+)
+install_headers(
+ 'orte/basic_types.h',
+ 'orte/cdr.h',
+ 'orte/defines_api.h',
+ 'orte/protos_api.h',
+ 'orte/typedefs_api.h',
+ 'orte/typedefs_defines_rtps.h',
+ subdir: 'orte',
+)
+# TODO: rename config and install it to orte/orte_config.h
--- /dev/null
+liborte_args = []
+
+if (host_machine.system() == 'windows')
+ liborte_args += ['-include', 'orte/orte_config_omk_win32.h']
+elif (host_machine.system() == 'linux')
+ liborte_args += ['-include', 'orte/orte_config_omk_linux.h']
+else
+ liborte_args += ['-include', 'orte/orte_config_omk_linux.h']
+endif
+
+
+
+liborte = library(
+ 'orte',
+ [
+ 'conv.c',
+ 'debug.c',
+ 'event.c',
+ 'fnmatch.c',
+ 'htimerNtp.c',
+ 'objectEntry.c',
+ 'objectEntryTimer.c',
+ 'objectUtils.c',
+ 'ORTEAppRecvThread.c',
+ 'ORTEAppSendThread.c',
+ 'ORTEDomainApp.c',
+ 'ORTEPublication.c',
+ 'ORTEPublicationTimer.c',
+ 'ORTESubscription.c',
+ 'ORTEDomain.c',
+ 'ORTEDomainMgr.c',
+ 'ORTEInit.c',
+ 'ORTEThreadUtils.c',
+ 'ORTETypeRegister.c',
+ 'ORTEVerbosity.c',
+ 'ORTEPattern.c',
+ 'ORTEMisc.c',
+ 'parameter.c',
+ 'RTPSAck.c',
+ 'RTPSCSTReader.c',
+ 'RTPSCSTReaderTimer.c',
+ 'RTPSCSTReaderProc.c',
+ 'RTPSCSTWriter.c',
+ 'RTPSCSTWriterTimer.c',
+ 'RTPSGap.c',
+ 'RTPSHeader.c',
+ 'RTPSHeardBeat.c',
+ 'RTPSInfoDST.c',
+ 'RTPSInfoREPLY.c',
+ 'RTPSInfoSRC.c',
+ 'RTPSInfoTS.c',
+ 'RTPSPad.c',
+ 'RTPSUtils.c',
+ 'RTPSVar.c',
+ 'RTPSIssue.c',
+ 'sock.c',
+ 'ul_gavl.c',
+ 'ul_gavlprim.c',
+ 'cdr.c',
+ ],
+ dependencies: dependency('threads'),
+ include_directories: include_directories('../include'),
+ c_args: [ '-DHAVE_CONFIG_H', liborte_args ],
+ install: true,
+)
+
+liborte_dep = declare_dependency(
+ link_with: liborte,
+ include_directories: include_directories('../include'),
+ compile_args: [ '-DHAVE_CONFIG_H' ] + liborte_args,
+)
--- /dev/null
+executable(
+ 'ortemanager', [ 'ortemanager.c' ],
+ dependencies: [ liborte_dep ],
+ install: true,
+)
--- /dev/null
+# subdir('contrib')
+subdir('idl-compiler')
+subdir('include')
+# subdir('java')
+# subdir('libjorte')
+subdir('liborte')
+subdir('manager')
+subdir('examples')