
Installing Cyclone DDS for multiple architectures with the same installation prefix gave problems because the CMake configuration files ended up overwriting each other. This brings it in line with the recommended locations. Thanks to @hansfn. Signed-off-by: Erik Boasson <eb@ilities.com>
20 lines
999 B
Text
20 lines
999 B
Text
cmake_minimum_required(VERSION 3.5)
|
|
|
|
# Find the CycloneDDS package. If it is not in a default location, try
|
|
# finding it relative to the example where it most likely resides.
|
|
find_package(CycloneDDS REQUIRED COMPONENTS idlc PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../../../..")
|
|
|
|
# This is a convenience function, provided by the CycloneDDS package,
|
|
# that will supply a library target related the the given idl file.
|
|
# In short, it takes the idl file, generates the source files with
|
|
# the proper data types and compiles them into a library.
|
|
idlc_generate(HelloWorldData_lib "HelloWorldData.idl")
|
|
|
|
# Both executables have only one related source file.
|
|
add_executable(HelloworldPublisher publisher.c)
|
|
add_executable(HelloworldSubscriber subscriber.c)
|
|
|
|
# Both executables need to be linked to the idl data type library and
|
|
# the ddsc API library.
|
|
target_link_libraries(HelloworldPublisher HelloWorldData_lib CycloneDDS::ddsc)
|
|
target_link_libraries(HelloworldSubscriber HelloWorldData_lib CycloneDDS::ddsc)
|