From 5f1ab387b7dd7bc9f08bd5d8961a7e101a5dcca2 Mon Sep 17 00:00:00 2001 From: Alec Leamas Date: Tue, 22 Sep 2020 15:51:26 +0200 Subject: [PATCH] cmake: Add option for alternative name cxx-serial. The name serial is problematic when packaging since it's basically too generic and easily generates name clashes. Add an option which builds the package as cxx-serial instead, by default off to not break existing usage. Gbp-Pq: Name 0008-cmake-Add-option-for-alternative-name-cxx-serial.patch --- CMakeLists.txt | 14 ++++++++++++-- package.xml => package.xml.in | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) rename package.xml => package.xml.in (96%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6296f86..2bc9f9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,26 @@ cmake_minimum_required(VERSION 3.5.0) +option(USE_CXX_SERIAL "build package name cxx-serial" OFF) +if (USE_CXX_SERIAL) + set(PKG_NAME cxx-serial) +else () + set(PKG_NAME serial) +endif () +message(STATUS "Building package ${PKG_NAME}") + # Find catkin find_package(catkin REQUIRED) set(PROJ_SOVERSION 1) -project(serial +project(${PKG_NAME} VERSION 1.2.1 DESCRIPTION "Cross-platform, Serial Port library written in C++" HOMEPAGE_URL "http://wjwwood.io/serial/" ) +configure_file(package.xml.in ${PROJECT_SOURCE_DIR}/package.xml @ONLY) + if(APPLE) find_library(IOKIT_LIBRARY IOKit) find_library(FOUNDATION_LIBRARY Foundation) @@ -19,7 +29,7 @@ endif() # Public options and command line configuration option(ENABLE_TEST_PROGRAM "Build test program" OFF) option(CATKIN_ENABLE_TESTING "Enable catkin unit tests" ON) -set(SERIAL_DOCDIR ${CMAKE_INSTALL_PREFIX}/share/doc/serial +set(SERIAL_DOCDIR ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME} CACHE STRING "Installation root for doxygen docs." ) diff --git a/package.xml b/package.xml.in similarity index 96% rename from package.xml rename to package.xml.in index 27781e1..3320e4d 100644 --- a/package.xml +++ b/package.xml.in @@ -1,6 +1,6 @@ - serial + @PROJECT_NAME@ 1.2.1 Serial is a cross-platform, simple to use library for using serial ports on computers.