libftdi Archives

Subject: Re: [PATCH] cmake: use the standard CMake flag to drive the shared object build

From: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Cc: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>, Samuel Martin <s.martin49@xxxxxxxxx>
Date: Fri, 15 Dec 2017 15:19:09 +0100
Hello Thomas,

On Fri, Dec 15, 2017 at 3:09 PM,  <yegorslists@xxxxxxxxxxxxxx> wrote:
> From: Samuel Martin <s.martin49@xxxxxxxxx>
>
> Remove the STATICLIBS CMake option (and the code handling it) and let
> the standard CMake flags drive the shared object build.
>
> Build shared library:
> cmake -DBUILD_SHARED_LIBS=ON
>
> Build static library:
> cmake -DBUILD_SHARED_LIBS=OFF
>
> Signed-off-by: Samuel Martin <s.martin49@xxxxxxxxx>
> Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx>
> ---
>  CMakeLists.txt        |  2 --
>  ftdipp/CMakeLists.txt | 15 +--------------
>  src/CMakeLists.txt    | 13 +------------
>  3 files changed, 2 insertions(+), 28 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 66abe4c..6ed4363 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -46,8 +46,6 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development")
>  set(CPACK_COMPONENT_STATICLIBS_GROUP "Development")
>  set(CPACK_COMPONENT_HEADERS_GROUP    "Development")
>
> -option ( STATICLIBS "Build static libraries" ON )
> -
>  # guess LIB_SUFFIX, don't take debian multiarch into account
>  if ( NOT DEFINED LIB_SUFFIX )
>    if( CMAKE_SYSTEM_NAME MATCHES "Linux"
> diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt
> index 27fbe8d..1dd0881 100644
> --- a/ftdipp/CMakeLists.txt
> +++ b/ftdipp/CMakeLists.txt
> @@ -23,8 +23,7 @@ if (FTDIPP)
>      set(FTDI_BUILD_CPP True PARENT_SCOPE)
>      message(STATUS "Building libftdi1++")
>
> -    # Shared library
> -    add_library(ftdipp1 SHARED ${cpp_sources})
> +    add_library(ftdipp1 ${cpp_sources})
>
>      math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1")    # Compatiblity with 
> previous releases
>      set_target_properties(ftdipp1 PROPERTIES VERSION 
> ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 3)
> @@ -41,18 +40,6 @@ if (FTDIPP)
>                LIBRARY DESTINATION lib${LIB_SUFFIX}
>                ARCHIVE DESTINATION lib${LIB_SUFFIX}
>              )
> -
> -    # Static library
> -    if ( STATICLIBS )
> -      add_library(ftdipp1-static STATIC ${cpp_sources})
> -      set_target_properties(ftdipp1-static PROPERTIES OUTPUT_NAME "ftdipp1")
> -      set_target_properties(ftdipp1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
> -
> -      install ( TARGETS ftdipp1-static
> -                ARCHIVE DESTINATION lib${LIB_SUFFIX}
> -                COMPONENT staticlibs
> -              )
> -    endif ()
>
>      install ( FILES ${cpp_headers}
>                DESTINATION include/${PROJECT_NAME}
> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> index 9fd86a6..501d4a8 100644
> --- a/src/CMakeLists.txt
> +++ b/src/CMakeLists.txt
> @@ -21,7 +21,7 @@ configure_file(ftdi_version_i.h.in 
> "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h
>  set(c_sources     ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c 
> ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" )
>  set(c_headers     ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of 
> c headers" )
>
> -add_library(ftdi1 SHARED ${c_sources})
> +add_library(ftdi1 ${c_sources})
>
>  math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1")    # Compatiblity with 
> previous releases
>  set_target_properties(ftdi1 PROPERTIES VERSION 
> ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
> @@ -38,17 +38,6 @@ install ( TARGETS ftdi1
>            ARCHIVE DESTINATION lib${LIB_SUFFIX}
>          )
>
> -if ( STATICLIBS )
> -  add_library(ftdi1-static STATIC ${c_sources})
> -  target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES})
> -  set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1")
> -  set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
> -  install ( TARGETS ftdi1-static
> -            ARCHIVE DESTINATION lib${LIB_SUFFIX}
> -            COMPONENT staticlibs
> -          )
> -endif ()
> -
>  install ( FILES ${c_headers}
>            DESTINATION include/${PROJECT_NAME}
>            COMPONENT headers
> --
> 2.11.0

There are two more patches in Buildroot [1], that we would like to see
upstream. Should Samuel or I resend them or can you take them from BR
git repo?

Thanks.

[1] https://git.busybox.net/buildroot/tree/package/libftdi1

Regards,
Yegor

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread