Michael,

This script looks good. Another way is to use ccmake before running 
make. ccmake will edit the cmake cache, CMakeCache.txt

You can also edit that file with a text editor.

Then your 4 paths will be set.

And as your other email mentions, we need to add the two include paths 
to the compile time options, using something like

include_directories()

and do so conditionally base on which library if any is being used.

I can help with that, or I'm sure you can do it yourself, thus 
illustrating how easy CMake is to use.

As I said, the reason I missed this in my testing is that my includes 
where in a standard place, which was already being included.


If you want to link statically, you may have to get your nose into the 
CMake manual for that.


Dick




Michael Fischer wrote:
> Hello Dick,
>
> now I understand a little how to use CMake, I could define tht
> path with -D. Now I use a build.sh script which look like:
>
> =======================================================================
> #!/bin/sh
>
> cmake -DLIBFTDI_LIBRARIES=/opt/local/libftdi-0.15/lib -DLIBFTDI_INCLUDE_DIR=
> /opt/local/libftdi-0.15/include \
> -DLIBUSB_LIBRARIES=/opt/local/libusb-0.1.12/lib -DLIBUSB_INCLUDE_DIR=/opt/lo
> cal/libusb-0.1.12/include \
> -DBUILD_FT2232_LIBFTDI=1 ../src
> =======================================================================
>
> Here I set all the path which are needed, I think.
>
> And the answer is:
>
> =======================================================================
> -- Found LIBUSB: /opt/local/libusb-0.1.12/lib
> -- Found LIBFTDI: /opt/local/libftdi-0.15/lib
> -- Check if the system is big endian
> -- Searching 16 bit integer
> -- Looking for stddef.h
> -- Looking for stddef.h - found
> -- Check size of unsigned short
> -- Check size of unsigned short - done
> -- Using unsigned short
> -- Check if the system is big endian - little endian
> Current revision is 1454
> -- Configuring done
> WARNING: Target "openocd" requests linking to directory
> "/opt/local/libftdi-0.15/lib".  Targets may link only to libraries.  CMake
> is dropping the item.
> WARNING: Target "openocd" requests linking to directory
> "/opt/local/libusb-0.1.12/lib".  Targets may link only to libraries.  CMake
> is dropping the item.
> -- Generating done
> -- Build files have been written to:
> /Users/mfischer/Projekte/development/OpenOCD/trunk/release
> =======================================================================
>
> If I try to start make, the output look like:
>
> =======================================================================
> [ 14%] Building C object helper/CMakeFiles/helper.dir/time_support.c.o
> [ 15%] Building C object helper/CMakeFiles/helper.dir/options.c.o
> [ 16%] Building C object helper/CMakeFiles/helper.dir/jim.c.o
> [ 17%] Building C object helper/CMakeFiles/helper.dir/jim-eventloop.c.o
> Linking C static library libhelper.a
> [ 17%] Built target helper
> Scanning dependencies of target jtag
> [ 18%] Building C object jtag/CMakeFiles/jtag.dir/jtag.c.o
> [ 20%] Building C object jtag/CMakeFiles/jtag.dir/ft2232.c.o
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:58:18:
> error: ftdi.h: No such file or directory
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c: In
> function ‘ft2232_init_libftdi’:
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1702:
> error: invalid use of undefined type ‘struct ftdi_context’
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1705:
> error: invalid use of undefined type ‘struct ftdi_context’
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1710:
> error: ‘INTERFACE_A’ undeclared (first use in this function)
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1710:
> error: (Each undeclared identifier is reported only once
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1710:
> error: for each function it appears in.)
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1712:
> error: invalid use of undefined type ‘struct ftdi_context’
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c: In
> function ‘ft2232_purge_libftdi’:
> /Users/mfischer/Projekte/development/OpenOCD/trunk/src/jtag/ft2232.c:1748:
> error: invalid use of undefined type ‘struct ftdi_context’
> make[2]: *** [jtag/CMakeFiles/jtag.dir/ft2232.c.o] Error 1
> make[1]: *** [jtag/CMakeFiles/jtag.dir/all] Error 2
> make: *** [all] Error 2
> =======================================================================
>
> Do you have any hints for me?
>
> Best regards,
>
> Michael
>
>
>
>
>
>   

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to