From 48f14ce4576f35d8ee89c1164576657bda686ee9 Mon Sep 17 00:00:00 2001 From: Alex Moriarty Date: Thu, 15 Jun 2023 11:47:17 -0300 Subject: [PATCH] cmake: CMAKE_POSITION_INDEPENDENT_CODE - remove set BUILD_SHARED_LIBS ON - set CMAKE_POSITION_INDEPENDENT_CODE ON if undefined When setting BUILD_SHARED_LIBS if user set it to off linking would fail. Adding the suggetion from pull request review, which seems to work in both cases colcon build --cmake-args "-DBUILD_SHARED_LIBS=ON" colcon build --cmake-args "-DBUILD_SHARED_LIBS=OFF" Signed-off-by: Alex Moriarty --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28e4c19..75a05bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,6 @@ cmake_minimum_required(VERSION 3.5.0) # General setup -option(BUILD_SHARED_LIBS "Build using shared libraries" ON) - set(PROJ_SOVERSION 1) project(serial VERSION 1.2.1 @@ -41,12 +39,16 @@ set(serial_HEADERS include/serial/v8stdint.h ) # Build, link and install main library +if(NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +endif() add_library(${PROJECT_NAME} ${serial_SRCS}) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJ_SOVERSION} PUBLIC_HEADER "${serial_HEADERS}" ) + target_include_directories(${PROJECT_NAME} PUBLIC include) if(APPLE)