fully apply libftdi configuration

pull/4/head
Jeffrey Quesnelle 2019-03-01 11:19:44 -05:00
parent 993974234b
commit ec13728acc
5 changed files with 34 additions and 19 deletions

View File

@ -133,13 +133,13 @@ set_property(TARGET icsneocpp PROPERTY POSITION_INDEPENDENT_CODE ON)
# libftdi
if(NOT WIN32)
target_include_directories(icsneocpp PUBLIC third-party/libftdi/src)
set(LIBFTDI_DOCUMENTATION OFF)
set(LIBFTDI_BUILD_TESTS OFF)
set(LIBFTDI_INSTALL OFF)
set(LIBFTDI_PYTHON_BINDINGS OFF)
set(LIBFTDI_LINK_PYTHON_LIBRARY OFF)
set(FTDIPP OFF)
set(FTDI_EEPROM OFF)
set(LIBFTDI_DOCUMENTATION OFF CACHE INTERNAL "")
set(LIBFTDI_BUILD_TESTS OFF CACHE INTERNAL "")
set(LIBFTDI_INSTALL OFF CACHE INTERNAL "")
set(LIBFTDI_PYTHON_BINDINGS OFF CACHE INTERNAL "")
set(LIBFTDI_LINK_PYTHON_LIBRARY OFF CACHE INTERNAL "")
set(FTDIPP OFF CACHE INTERNAL "")
set(FTDI_EEPROM OFF CACHE INTERNAL "")
add_subdirectory(third-party/libftdi)
endif(NOT WIN32)

View File

@ -46,6 +46,8 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development")
set(CPACK_COMPONENT_STATICLIBS_GROUP "Development")
set(CPACK_COMPONENT_HEADERS_GROUP "Development")
option ( LIBFTDI_INSTALL "Generate install step" ON )
option ( LIBFTDI_STATICLIBS "Build static libraries" ON )
# guess LIB_SUFFIX, don't take debian multiarch into account
@ -168,13 +170,17 @@ endif(${WIN32})
configure_file(${PROJECT_SOURCE_DIR}/libftdi1.spec.in ${CMAKE_BINARY_DIR}/libftdi1.spec @ONLY)
configure_file(${PROJECT_SOURCE_DIR}/libftdi1.pc.in ${CMAKE_BINARY_DIR}/libftdi1.pc @ONLY)
configure_file(${PROJECT_SOURCE_DIR}/libftdipp1.pc.in ${CMAKE_BINARY_DIR}/libftdipp1.pc @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc
if (LIBFTDI_INSTALL)
install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc
DESTINATION lib${LIB_SUFFIX}/pkgconfig)
endif()
if (UNIX OR MINGW)
configure_file ( libftdi1-config.in ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config @ONLY )
install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config
if (LIBFTDI_INSTALL)
install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config
DESTINATION bin )
endif()
endif ()
# config script install path
@ -228,8 +234,6 @@ else ()
)
endif ()
option ( LIBFTDI_INSTALL "Generate install step" ON )
if (LIBFTDI_INSTALL)
install ( FILES
${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake

View File

@ -48,8 +48,10 @@ if ( CONFUSE_FOUND )
if ( LIBINTL_FOUND )
target_link_libraries ( ftdi_eeprom ${LIBINTL_LIBRARIES} )
endif ()
install ( TARGETS ftdi_eeprom DESTINATION bin )
install ( FILES example.conf DESTINATION ${CMAKE_INSTALL_DOCDIR} )
if ( LIBFTDI_INSTALL )
install ( TARGETS ftdi_eeprom DESTINATION bin )
install ( FILES example.conf DESTINATION ${CMAKE_INSTALL_DOCDIR} )
endif()
else ()
message ( STATUS "libConfuse not found, won't build ftdi_eeprom" )
endif ()

View File

@ -31,12 +31,13 @@ if (FTDIPP)
# Dependencies
target_link_libraries(ftdipp1 PUBLIC ftdi1 ${LIBUSB_LIBRARIES} ${BOOST_LIBRARIES})
install ( TARGETS ftdipp1
if ( LIBFTDI_INSTALL )
install ( TARGETS ftdipp1
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
)
endif()
# Static library
if ( LIBFTDI_STATICLIBS )
@ -49,10 +50,12 @@ if (FTDIPP)
set_target_properties(ftdipp1-static PROPERTIES OUTPUT_NAME "ftdipp1")
set_target_properties(ftdipp1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
install ( TARGETS ftdipp1-static
if ( LIBFTDI_INSTALL )
install ( TARGETS ftdipp1-static
ARCHIVE DESTINATION lib${LIB_SUFFIX}
COMPONENT staticlibs
)
endif()
endif ()
install ( FILES ${cpp_headers}

View File

@ -32,24 +32,30 @@ set_target_properties ( ftdi1 PROPERTIES CLEAN_DIRECT_OUTPUT 1 )
# Dependencies
target_link_libraries(ftdi1 ${LIBUSB_LIBRARIES})
install ( TARGETS ftdi1
if ( LIBFTDI_INSTALL )
install ( TARGETS ftdi1
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
)
endif()
if ( LIBFTDI_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
if ( LIBFTDI_INSTALL )
install ( TARGETS ftdi1-static
ARCHIVE DESTINATION lib${LIB_SUFFIX}
COMPONENT staticlibs
)
endif()
endif ()
install ( FILES ${c_headers}
if ( LIBFTDI_INSTALL )
install ( FILES ${c_headers}
DESTINATION include/${PROJECT_NAME}
COMPONENT headers
)
endif()