Alright, attached is a proof of concept patch, untested, for comments on the approach.
Chris On Tue, Jan 28, 2014 at 10:57 AM, Chris Morgan <[email protected]> wrote: > On Tue, Jan 28, 2014 at 8:53 AM, Chris Morgan <[email protected]> wrote: >> On Tue, Jan 28, 2014 at 4:53 AM, >> <[email protected]> wrote: >>>>>>>> "Chris" == Chris Morgan <[email protected]> writes: >>> >>> Chris> How do I use that script? Do I just include it like: >>> >>> In xc3sprog/CMakeLists.txt I have >>> ... >>> set(USE_STATIC_FTDI ON) >>> ... >>> find_package(libftdi) >>> include_directories(${LIBFTDI_INCLUDE_DIR}) >>> ... >>> add_executable(detectchain detectchain.cpp cables.h devices.h) >>> target_link_libraries(detectchain xc3sproglib ${LIBFTDI_LIBRARIES} >>> ${LIBFTD2XX_LIBRARIES} ${CONDITIONAL_LIBS}) >>> >>> add_executable(xc3sprog xc3sprog.cpp javr.cpp srecfile.cpp progalgavr.cpp >>> devices.h) >>> target_link_libraries(xc3sprog xc3sproglib ${LIBFTDI_LIBRARIES} >>> ${LIBFTD2XX_LIBRARIES} ${CONDITIONAL_LIBS} ) >>> >>> add_executable(readdna readdna.cpp devices.h) >>> target_link_libraries(readdna xc3sproglib ${LIBFTDI_LIBRARIES} >>> ${LIBFTD2XX_LIBRARIES} ${CONDITIONAL_LIBS} ) >>> >> >> >> I tried this but for whatever reason the Findlibftdi.cmake can't find >> my libftdi files. I suspect this is because I'm actually installing >> libftdi to a user directory and the pkg-config and other entries >> aren't in the correct place. For whatever reason the example cmake >> usage in the libftdi source is working for me, the: >> >> find_package (LibFTDI1 NO_MODULE REQUIRED) >> include (${LIBFTDI_USE_FILE}) >> >> >> >> Still seems like a better approach to support this in the existing >> libftdi cmake scripts, unless I'm missing something as to why this >> shouldn't be done. >> >> I was looking at what it might take to add this support to libftdi >> proper. In LibFTDI1Config.cmake there are set()s for LIBFTDI_LIBRARY >> and LIBFTDI_LIBRARIES. What if we introduce two new ones, >> >> LIBFTDI_STATIC_LIBRARY and LIBFTDI_STATIC_LIBRARIES that refer to >> libftdi1.a instead of libftdi1.so? I tested this locally and it >> appears to be working properly. >> >> Thoughts? >> >> Chris > > > And by thoughts, I want to see if what I'm saying makes sense before > sending patches, but didn't want to go down that road if there is a > better idea or approach. > > Chris -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
From 7af906ab4e71697f99300574ef1c741262d36417 Mon Sep 17 00:00:00 2001 From: Chris Morgan <[email protected]> Date: Thu, 30 Jan 2014 17:22:44 -0500 Subject: [PATCH] Add LIBFTDI_STATIC_LIBRARY and LIBFTDI_STATIC_LIBRARIES to make it easier to link statically against libftdi --- CMakeLists.txt | 3 +++ cmake/LibFTDI1Config.cmake.in | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index bdd211d..49e23bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,9 @@ set ( LIBFTDI_INCLUDE_DIRS ${LIBFTDI_INCLUDE_DIR} ) set ( LIBFTDI_LIBRARY ftdi1 ) set ( LIBFTDI_LIBRARIES ${LIBFTDI_LIBRARY} ) list ( APPEND LIBFTDI_LIBRARIES ${LIBUSB_LIBRARIES} ) +set ( LIBFTDI_STATIC_LIBRARY ftdi1.a ) +set ( LIBFTDI_STATIC_LIBRARIES ${LIBFTDI_LIBRARY} ) +list ( APPEND LIBFTDI_STATIC_LIBRARIES ${LIBUSB_LIBRARIES} ) if (FTDI_BUILD_CPP) set ( LIBFTDIPP_LIBRARY ftdi1pp ) set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ) diff --git a/cmake/LibFTDI1Config.cmake.in b/cmake/LibFTDI1Config.cmake.in index 904a9b7..ecc615e 100644 --- a/cmake/LibFTDI1Config.cmake.in +++ b/cmake/LibFTDI1Config.cmake.in @@ -37,6 +37,8 @@ set ( LIBFTDI_INCLUDE_DIR "@LIBFTDI_INCLUDE_DIR@" ) set ( LIBFTDI_INCLUDE_DIRS "@LIBFTDI_INCLUDE_DIRS@" ) set ( LIBFTDI_LIBRARY "@LIBFTDI_LIBRARY@" ) set ( LIBFTDI_LIBRARIES "@LIBFTDI_LIBRARIES@" ) +set ( LIBFTDI_STATIC_LIBRARY "@LIBFTDI_STATIC_LIBRARY@" ) +set ( LIBFTDI_STATIC_LIBRARIES "@LIBFTDI_STATIC_LIBRARIES@" ) set ( LIBFTDIPP_LIBRARY "@LIBFTDIPP_LIBRARY@" ) set ( LIBFTDIPP_LIBRARIES "@LIBFTDIPP_LIBRARIES@" ) set ( LIBFTDI_LIBRARY_DIRS "@LIBFTDI_LIBRARY_DIRS@" ) -- 1.8.3.1
