diff --git a/CMakeLists.txt b/CMakeLists.txt index fa24414..ba0d477 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/third-party/libftdi/CMakeLists.txt b/third-party/libftdi/CMakeLists.txt index c13c44a..9b6237a 100644 --- a/third-party/libftdi/CMakeLists.txt +++ b/third-party/libftdi/CMakeLists.txt @@ -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 diff --git a/third-party/libftdi/ftdi_eeprom/CMakeLists.txt b/third-party/libftdi/ftdi_eeprom/CMakeLists.txt index a730ee3..22bc39d 100644 --- a/third-party/libftdi/ftdi_eeprom/CMakeLists.txt +++ b/third-party/libftdi/ftdi_eeprom/CMakeLists.txt @@ -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 () diff --git a/third-party/libftdi/ftdipp/CMakeLists.txt b/third-party/libftdi/ftdipp/CMakeLists.txt index 677d29f..1c2fcb9 100644 --- a/third-party/libftdi/ftdipp/CMakeLists.txt +++ b/third-party/libftdi/ftdipp/CMakeLists.txt @@ -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} diff --git a/third-party/libftdi/src/CMakeLists.txt b/third-party/libftdi/src/CMakeLists.txt index 386c590..a6a6188 100644 --- a/third-party/libftdi/src/CMakeLists.txt +++ b/third-party/libftdi/src/CMakeLists.txt @@ -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()