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 # libftdi
if(NOT WIN32) if(NOT WIN32)
target_include_directories(icsneocpp PUBLIC third-party/libftdi/src) target_include_directories(icsneocpp PUBLIC third-party/libftdi/src)
set(LIBFTDI_DOCUMENTATION OFF) set(LIBFTDI_DOCUMENTATION OFF CACHE INTERNAL "")
set(LIBFTDI_BUILD_TESTS OFF) set(LIBFTDI_BUILD_TESTS OFF CACHE INTERNAL "")
set(LIBFTDI_INSTALL OFF) set(LIBFTDI_INSTALL OFF CACHE INTERNAL "")
set(LIBFTDI_PYTHON_BINDINGS OFF) set(LIBFTDI_PYTHON_BINDINGS OFF CACHE INTERNAL "")
set(LIBFTDI_LINK_PYTHON_LIBRARY OFF) set(LIBFTDI_LINK_PYTHON_LIBRARY OFF CACHE INTERNAL "")
set(FTDIPP OFF) set(FTDIPP OFF CACHE INTERNAL "")
set(FTDI_EEPROM OFF) set(FTDI_EEPROM OFF CACHE INTERNAL "")
add_subdirectory(third-party/libftdi) add_subdirectory(third-party/libftdi)
endif(NOT WIN32) endif(NOT WIN32)

View File

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

View File

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

View File

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

View File

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