This will be my last CMake patch, so this is the one you want to
commit. Others can then take it from here.
background material on cross compiling with this support:
http://www.cmake.org/Wiki/CmakeMingw
http://vtk.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build
Index: src/pld/CMakeLists.txt
===================================================================
--- src/pld/CMakeLists.txt (revision 0)
+++ src/pld/CMakeLists.txt (revision 0)
@@ -0,0 +1,11 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+SET(PLD_SRCS
+ pld.c
+ xilinx_bit.c
+ virtex2.c
+)
+
+add_library(pld STATIC ${PLD_SRCS})
Property changes on: src/pld/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/svf/CMakeLists.txt
===================================================================
--- src/svf/CMakeLists.txt (revision 0)
+++ src/svf/CMakeLists.txt (revision 0)
@@ -0,0 +1,10 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+
+SET(SVF_SRCS
+ svf.c
+)
+
+add_library(svf STATIC ${SVF_SRCS})
Property changes on: src/svf/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/jtag/CMakeLists.txt
===================================================================
--- src/jtag/CMakeLists.txt (revision 0)
+++ src/jtag/CMakeLists.txt (revision 0)
@@ -0,0 +1,79 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/rlink
+ )
+
+set(JTAG_SRCS jtag.c)
+
+
+if(BUILD_BITBANG OR BUILD_DUMMY OR BUILD_EP93XX OR BUILD_ECOSBOARD OR BUILD_PARPORT OR BUILD_AT91RM9200)
+ list(APPEND JTAG_SRCS bitbang.c)
+endif(BUILD_BITBANG OR BUILD_DUMMY OR BUILD_EP93XX OR BUILD_ECOSBOARD OR BUILD_PARPORT OR BUILD_AT91RM9200)
+
+if(BUILD_PARPORT)
+ list(APPEND JTAG_SRCS parport.c)
+endif(BUILD_PARPORT)
+
+if(BUILD_DUMMY)
+ list(APPEND JTAG_SRCS dummy.c)
+endif(BUILD_DUMMY)
+
+if(BUILD_FT2232_FTD2XX OR BUILD_FT2232_LIBFTDI)
+ list(APPEND JTAG_SRCS ft2232.c)
+ #list(APPEND JTAG_SRCS ft2232orig.c)
+endif(BUILD_FT2232_FTD2XX OR BUILD_FT2232_LIBFTDI)
+
+if(BUILD_AMTJTAGACCEL)
+ list(APPEND JTAG_SRCS amt_jtagaccel.c)
+endif(BUILD_AMTJTAGACCEL)
+
+if(BUILD_EP93XX)
+ list(APPEND JTAG_SRCS ep93xx.c)
+endif(BUILD_EP93XX)
+
+if(BUILD_AT91RM9200)
+ list(APPEND JTAG_SRCS at91rm9200.c)
+endif(BUILD_AT91RM9200)
+
+if(BUILD_GW16012)
+ list(APPEND JTAG_SRCS gw16012.c)
+endif(BUILD_GW16012)
+
+if(BUILD_BITQ)
+ list(APPEND JTAG_SRCS bitq.c)
+endif(BUILD_BITQ)
+
+if(BUILD_PRESTO)
+ list(APPEND JTAG_SRCS presto.c)
+endif(BUILD_PRESTO)
+
+if(BUILD_USBPROG)
+ list(APPEND JTAG_SRCS usbprog.c)
+endif(BUILD_USBPROG)
+
+if(BUILD_ECOSBOARD)
+ list(APPEND JTAG_SRCS zy1000.c)
+endif(BUILD_ECOSBOARD)
+
+if(BUILD_JLINK)
+ list(APPEND JTAG_SRCS jlink.c)
+endif(BUILD_JLINK)
+
+if(BUILD_RLINK)
+ list(APPEND JTAG_SRCS rlink/rlink.c rlink/rlink_speed_table.c)
+endif(BUILD_RLINK)
+
+if(BUILD_VSLLINK)
+ list(APPEND JTAG_SRCS vsllink.c)
+endif(BUILD_VSLLINK)
+
+if(BUILD_ARM_JTAG_EW)
+ list(APPEND JTAG_SRCS arm-jtag-ew.c)
+endif(BUILD_ARM_JTAG_EW)
+
+
+add_library(jtag STATIC ${JTAG_SRCS})
Property changes on: src/jtag/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/xsvf/CMakeLists.txt
===================================================================
--- src/xsvf/CMakeLists.txt (revision 0)
+++ src/xsvf/CMakeLists.txt (revision 0)
@@ -0,0 +1,9 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+set( XSVF_SRCS
+ xsvf.c
+)
+
+add_library(xsvf STATIC ${XSVF_SRCS})
Property changes on: src/xsvf/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/flash/CMakeLists.txt
===================================================================
--- src/flash/CMakeLists.txt (revision 0)
+++ src/flash/CMakeLists.txt (revision 0)
@@ -0,0 +1,38 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+
+SET(FLASH_SRCS
+ avrf.c
+ flash.c
+ lpc2000.c
+ cfi.c
+ non_cfi.c
+ at91sam7.c
+ at91sam7_old.c
+ str7x.c
+ str9x.c
+ aduc702x.c
+ nand.c
+ nand_ecc.c
+ lpc3180_nand_controller.c
+ stellaris.c
+ str9xpec.c
+ stm32x.c
+ tms470.c
+ ecos.c
+ orion_nand.c
+ s3c24xx_nand.c
+ s3c2410_nand.c
+ s3c2412_nand.c
+ s3c2440_nand.c
+ s3c2443_nand.c
+ lpc288x.c
+ ocl.c
+ mflash.c
+ pic32mx.c
+ )
+
+add_library(flash STATIC ${FLASH_SRCS})
+
Property changes on: src/flash/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt (revision 0)
+++ src/CMakeLists.txt (revision 0)
@@ -0,0 +1,402 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+# This is the top level CMake build script for OpenOCD.
+# First created: April 2009
+
+
+# http://www.vtk.org/Wiki/CMake_FAQ
+# Read the above for information on CMake and in particular, "Out of Tree Builds"
+# I have a <base>/release and a <base>/debug directory, at same level as <base>/src.
+# $ cd release
+# cmake -DBUILD_<what1>=1 -DBUILD_<what2>=1 ../src
+# make
+# sudo make install
+
+
+project(openocd C)
+
+cmake_minimum_required(VERSION 2.6.2 FATAL_ERROR)
+
+# Path to local CMake modules.
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
+
+set(VERSION 1.0) # version of openocd that this is
+
+
+###### Command line options #############################################
+
+# that enable OR disable features in the build.
+# For example, use -DBUILD_PARPORT=ON to enable parport support
+
+#set(CMAKE_BUILD_TYPE Release CACHE PATH "Set to Release or Debug.")
+
+option(BUILD_PARPORT "Enable building the pc parallel port driver (default OFF)" OFF)
+option(BUILD_DUMMY "Enable building the dummy port driver (default OFF)" OFF)
+option(BUILD_PARPORT_PPDEV "Enable use of ppdev (/dev/parportN) for parport (default OFF)" OFF)
+option(BUILD_FT2232_FTD2XX "Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com (default OFF)" OFF)
+option(BUILD_FT2232_LIBFTDI "Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX (default OFF)" OFF)
+option(BUILD_AMTJTAGACCEL "Enable building the Amontec JTAG-Accelerator driver (default OFF)" OFF)
+option(BUILD_ECOSBOARD "Enable building support for eCosBoard based JTAG debugger (default OFF)" OFF)
+option(BUILD_IOUTIL "Enable ioutil functions - useful for standalone OpenOCD implementations (default OFF)" OFF)
+option(BUILD_HTTPD "Enable builtin httpd server - useful for standalone OpenOCD implementations (default OFF)" OFF)
+option(BUILD_EP93XX "Enable building support for EP93xx based SBCs (default OFF)" OFF)
+option(BUILD_AT91RM9200 "Enable building support for AT91RM9200 based SBCs (default OFF)" OFF)
+option(BUILD_GW16012 "Enable building support for the Gateworks GW16012 JTAG Programmer (default OFF)" OFF)
+
+#option(BUILD_PRESTO_LIBFTDI "Enable building support for ASIX Presto Programmer using the libftdi driver (default OFF)" OFF)
+#option(BUILD_PRESTO_FTD2XX "Enable building support for ASIX Presto Programmer using the FTD2XX driver (default OFF)" OFF)
+option(BUILD_PRESTO "Enable building support for ASIX Presto Programmer using the selected FT2232 driver (default OFF)" OFF)
+
+option(BUILD_USBPROG "Enable building support for the usbprog JTAG Programmer (default OFF)" OFF)
+option(BUILD_OOCD_TRACE "Enable building support for the OpenOCD+trace ETM capture device (default OFF)" OFF)
+option(BUILD_JLINK "Enable building support for the Segger J-Link JTAG Programmer (default OFF)" OFF)
+option(BUILD_VSLLINK "Enable building support for the Versaloon-Link JTAG Programmer (default OFF)" OFF)
+option(BUILD_RLINK "Enable building support for the Raisonance RLink JTAG Programmer (default OFF)" OFF)
+option(BUILD_ARM_JTAG_EW "Enable building support for the Olimex ARM-JTAG-EW Programmer (default OFF)" OFF)
+option(PARPORT_USE_GIVEIO "Enable use of giveio for parport instead of ioperm (default ON)" ON)
+option(BUILD_BITQ "Enable a BITQ interface (default ON)" ON)
+
+
+option(_DEBUG_JTAG_IO_ "Enable debug logging of jtag io calls (default OFF)" OFF)
+option(_DEBUG_USB_IO_ "Enable debug logging of usb io calls (default OFF)" OFF)
+option(_DEBUG_USB_COMMS_ "Enable debug logging of usb comms calls (default OFF)" OFF)
+option(_DEBUG_TAP_STATES_ "Enable debug logging of tap state transitions (default OFF)" OFF)
+set(DEBUG_JTAG_IOZ 32 CACHE PATH "The number of bits to print in debugging miscompares")
+
+option(USE_STATIC_USB "If ON use a static libusb, else dynamic (default OFF = dynamic)" OFF)
+
+# this option must be used along with BUILD_FT2232_LIBFTDI
+option(USE_STATIC_FTDI "If ON use a static libftdi, else dynamic (default OFF = dynamic)" OFF)
+
+
+
+
+# this one wanted to be special
+if(BUILD_PRESTO)
+ if( NOT BUILD_FT2232_FTD2XX AND NOT BUILD_FT2232_LIBFTDI)
+ message( FATAL_ERROR "You must specify either -DBUILD_FT2232_FTD2XX=1 or -DBUILD_FT2232_LIBFTDI=1 when building PRESTO")
+ endif( NOT BUILD_FT2232_FTD2XX AND NOT BUILD_FT2232_LIBFTDI)
+ if(BUILD_FT2232_FTD2XX)
+ set( BUILD_PRESTO_FTD2XX ON)
+ endif(BUILD_FT2232_FTD2XX)
+ if(BUILD_FT2232_LIBFTDI)
+ set( BUILD_PRESTO_LIBFTDI ON)
+ endif(BUILD_FT2232_LIBFTDI)
+endif(BUILD_PRESTO)
+#message("BUILD_PRESTO=\"${BUILD_PRESTO}\" BUILD_PRESTO_FTD2XX=\"${BUILD_PRESTO_FTD2XX}\" BUILD_PRESTO_LIBFTDI=\"${BUILD_PRESTO_LIBFTDI}\"")
+#message("BUILD_FT2232_FTD2XX=\"${BUILD_FT2232_FTD2XX}\" BUILD_FT2232_LIBFTDI=\"${BUILD_FT2232_LIBFTDI}\"")
+
+if(BUILD_HTTPD)
+ # httpd.c needs function loadFile() in ioutil.c
+ set(BUILD_IOUTIL ON)
+endif(BUILD_HTTPD)
+
+# Having these here seems to keep the find modules from finding standard installations of these libraries,
+# so these are commented out for now
+#set( LIBFTD2XX_LIBRARIES "" CACHE PATH "Path to the ftd2xx library")
+#set( LIBFTD2XX_INCLUDE_DIR "" CACHE PATH "Path to the ftd2xx header files")
+#set( LIBFTDI_LIBRARIES "" CACHE PATH "Path to the ftdi library")
+#set( LIBFTDI_INCLUDE_DIR "" CACHE PATH "Path to the ftdi header files")
+#set( LIBUSB_LIBRARIES "" CACHE PATH "Path to the usb library")
+#set( LIBUSB_INCLUDE_DIR "" CACHE PATH "Path to the usb header files")
+
+
+# Locations for install targets.
+set(OPENOCD_BIN bin CACHE PATH "Location of OpenOCD binaries, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+
+if(UNIX)
+ # Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
+ set(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "")
+
+ # Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
+ set(OPENOCD_DATA share/openocd CACHE PATH "Location of OpenOCD data files, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+ set(OPENOCD_DOCS share/doc/openocd CACHE PATH "Location of OpenOCD documentation files, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+ set(OPENOCD_LIBS lib/openocd CACHE PATH "Location of OpenOCD libary file, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+endif(UNIX)
+
+if(WIN32)
+ # Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
+ set(CMAKE_INSTALL_PREFIX c:/OpenOCD CACHE PATH "")
+
+ # Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
+ set(OPENOCD_DATA share CACHE PATH "Location of OpenOCD data files, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+ set(OPENOCD_DOCS doc CACHE PATH "Location of OpenOCD documentation files, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+ set(OPENOCD_LIBS lib CACHE PATH "Location of OpenOCD libary file, relative to CMAKE_INSTALL_PREFIX if not absolute path.")
+endif(WIN32)
+
+# set the PKGDATADIR and PKGLIBDIR the same way the install() function creates
+# the intallation path from CMAKE_INSTALL_PREFIX and OPENOCD_DATA or
+# OPENOCD_LIBS respectively. PKGLIBDIR and PKGDATADIR are passed into the *.c code
+# via the config.h file, whereas OPENOCD_DATA and OPENOCD_LIBS are given to the
+# install() function. After install() works on its arguments, it should come up
+# with the same as our PKGDATADIR and PKGLIBDIR.
+if( IS_ABSOLUTE ${OPENOCD_DATA} )
+ set(PKGDATADIR ${OPENOCD_DATA})
+else( IS_ABSOLUTE ${OPENOCD_DATA} )
+ set(PKGDATADIR ${CMAKE_INSTALL_PREFIX}/${OPENOCD_DATA})
+endif( IS_ABSOLUTE ${OPENOCD_DATA} )
+
+if( IS_ABSOLUTE ${OPENOCD_LIBS} )
+ set(PKGLIBDIR ${OPENOCD_LIBS})
+else( IS_ABSOLUTE ${OPENOCD_LIBS} )
+ set(PKGLIBDIR ${CMAKE_INSTALL_PREFIX}/${OPENOCD_LIBS})
+endif( IS_ABSOLUTE ${OPENOCD_LIBS} )
+
+
+# check for include files and functions
+include(CheckIncludeFile)
+check_include_file(elf.h HAVE_ELF_H)
+check_include_file(inttypes.h HAVE_INTTYPES_H)
+check_include_file(jtag_minidriver.h HAVE_JTAG_MINIDRIVER_H)
+check_include_file(memory.h HAVE_MEMORY_H)
+check_include_file(stdbool.h HAVE_STDBOOL_H)
+check_include_file(stdint.h HAVE_STDINT_H)
+check_include_file(stdlib.h HAVE_STDLIB_H)
+check_include_file(strings.h HAVE_STRINGS_H)
+check_include_file(string.h HAVE_STRING_H)
+check_include_file(sys/param.h HAVE_SYS_PARAM_H)
+check_include_file(sys/stat.h HAVE_SYS_STAT_H)
+check_include_file(sys/time.h HAVE_SYS_TIME_H)
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(unistd.h HAVE_UNISTD_H)
+
+include(CheckFunctionExists)
+check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
+check_function_exists(strnlen HAVE_STRNLEN)
+check_function_exists(usleep HAVE_USLEEP)
+check_function_exists(vasprintf HAVE_VASPRINTF)
+check_function_exists(strndup HAVE_STRNDUP)
+
+include(CheckLibraryExists)
+check_library_exists(dl dlopen "" HAVE_LIBDL)
+
+#================================================
+# Set flags for GCC.
+#================================================
+
+#message("CMAKE_COMPILER_IS_GNUCC=\"${CMAKE_COMPILER_IS_GNUCC}\"")
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(COMMON_C_FLAGS "-Wall -Wstrict-prototypes -Wformat-security")
+
+ # Set default flags for when "CMAKE_BUILD_TYPE equals Release" build.
+ set(CMAKE_C_FLAGS_RELEASE "${COMMON_C_FLAGS} -O2 -DNDEBUG" )
+ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "-s")
+
+ # Set default flags for when "CMAKE_BUILD_TYPE equals None" build.
+ set(CMAKE_C_FLAGS ${COMMON_C_FLAGS})
+
+ # Set default flags for when "CMAKE_BUILD_TYPE equals Debug" build.
+ set(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS} -g3 -ggdb3 -DDEBUG")
+
+endif(CMAKE_COMPILER_IS_GNUCC)
+
+#message("CMAKE_BUILD_TYPE=\"${CMAKE_BUILD_TYPE}\"")
+
+
+# CONDITIONAL_LIBS is added to other unconditional libs below
+set( CONDITIONAL_LIBS )
+
+
+set(NEED_USB FALSE)
+if( BUILD_PRESTO OR BUILD_JLINK OR BUILD_RLINK OR BUILD_VSLINK OR BUILD_USBPROG OR USE_STATIC_FTDI)
+ #message("Yes USB")
+ set(NEED_USB TRUE)
+endif( BUILD_PRESTO OR BUILD_JLINK OR BUILD_RLINK OR BUILD_VSLINK OR BUILD_USBPROG OR USE_STATIC_FTDI)
+
+
+if(NEED_USB)
+ find_package(LibUSB REQUIRED)
+ #message("LIBUSB_LIBRARIES=\"${LIBUSB_LIBRARIES}\"")
+ set(CONDITIONAL_LIBS ${CONDITIONAL_LIBS} ${LIBUSB_LIBRARIES})
+ include_directories( ${LIBUSB_INCLUDE_DIR} )
+endif(NEED_USB)
+
+
+if(BUILD_FT2232_FTD2XX)
+ #message("BUILD_FT2232_LIBFTDI=\"${BUILD_FT2232_LIBFTDI}\"")
+ if(BUILD_FT2232_LIBFTDI)
+ message( FATAL_ERROR "BUILD_FT2232_FTD2XX and BUILD_FT2232_LIBFTDI are mutually exclusive, please enable only one")
+ endif(BUILD_FT2232_LIBFTDI)
+ find_package(LibFTD2XX REQUIRED)
+ #message("LIBFTD2XX_LIBRARIES=\"${LIBFTD2XX_LIBRARIES}\"")
+ set(CONDITIONAL_LIBS ${LIBFTD2XX_LIBRARIES})
+ include_directories( ${LIBFTD2XX_INCLUDE_DIR} )
+endif(BUILD_FT2232_FTD2XX)
+
+
+if(BUILD_FT2232_LIBFTDI)
+ if(BUILD_FT2232_FTD2XX)
+ message( FATAL_ERROR "BUILD_FT2232_FTD2XX and BUILD_FT2232_LIBFTDI are mutually exclusive, please enable only one")
+ endif(BUILD_FT2232_FTD2XX)
+ find_package(LibFTDI REQUIRED)
+ #message("LIBFTDI_LIBRARIES=\"${LIBFTDI_LIBRARIES}\"")
+ set(CONDITIONAL_LIBS ${LIBFTDI_LIBRARIES} ${CONDITIONAL_LIBS})
+ include_directories( ${LIBFTDI_INCLUDE_DIR} )
+endif(BUILD_FT2232_LIBFTDI)
+
+
+if(BUILD_HTTPD)
+ #future:
+ #find_package(LibMicroHTTPD)
+ # use this for now:
+
+ check_library_exists(microhttpd MHD_stop_daemon "/usr/lib" HAVE_LIBMICROHTTPD)
+ if(HAVE_LIBMICROHTTPD)
+ message("-- found libmicrohttpd")
+ set(CONDITIONAL_LIBS microhttpd ${CONDITIONAL_LIBS})
+ endif(HAVE_LIBMICROHTTPD)
+
+endif(BUILD_HTTPD)
+
+if(HAVE_LIBDL)
+ set(CONDITIONAL_LIBS ${CONDITIONAL_LIBS} dl)
+endif(HAVE_LIBDL)
+
+include(TestBigEndian)
+test_big_endian( WORDS_BIGENDIAN )
+
+if(RELEASE)
+ set(RELSTR Release)
+ set(PKGBLDREV "")
+else(RELEASE)
+ set(RELSTR svn:)
+ find_package(Subversion)
+ if(Subversion_FOUND)
+ subversion_wc_info( ${PROJECT_SOURCE_DIR} OPENOCD )
+ MESSAGE("Current revision is ${OPENOCD_WC_REVISION}")
+ set(PKGBLDREV ${OPENOCD_WC_REVISION})
+ else(Subversion_FOUND)
+ set(PKGBLDREV "")
+ endif(Subversion_FOUND)
+endif(RELEASE)
+
+
+if(CYGWIN)
+ set(IS_CYGWIN true)
+else(CYGWIN)
+ set(IS_CYGWIN false)
+endif(CYGWIN)
+
+if(MINGW)
+ set(IS_MINGW true)
+ find_package(LibWinsock REQUIRED)
+ add_library(libws2_32 STATIC IMPORTED)
+ set_target_properties(libws2_32 PROPERTIES IMPORTED_LOCATION ${LIBWS2_32_LIBRARIES} )
+ set(CONDITIONAL_LIBS ${CONDITIONAL_LIBS} libws2_32)
+ #message("CMAKE_BUILD_SETTING_C_COMPILER=\"${CMAKE_BUILD_SETTING_C_COMPILE}\"")
+else(MINGW)
+ set(IS_MINGW false)
+endif(MINGW)
+
+
+# preprocess and output config.h into release or debug directory
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/target
+ ${CMAKE_CURRENT_SOURCE_DIR}/server
+ ${CMAKE_CURRENT_SOURCE_DIR}/helper
+ ${CMAKE_CURRENT_SOURCE_DIR}/jtag
+ ${CMAKE_CURRENT_SOURCE_DIR}/xsvf
+ ${CMAKE_CURRENT_SOURCE_DIR}/svf
+ ${CMAKE_CURRENT_SOURCE_DIR}/flash
+ ${CMAKE_CURRENT_SOURCE_DIR}/pld
+ ${CMAKE_BINARY_DIR}
+ )
+
+if(NOT CMAKE_HOST_UNIX)
+ set(IS_WIN32 true)
+ # http://dev-notes.com/code.php?q=49
+ set(GETDATECMD \\"%date%\\" )
+ #message("yes WIN32")
+else(NOT CMAKE_HOST_UNIX)
+ set(IS_WIN32 false)
+ set(GETDATECMD \\"`date +%F-%R`\\")
+ #message("not WIN32")
+endif(NOT CMAKE_HOST_UNIX)
+
+
+add_definitions(
+ -DHAVE_CONFIG_H=1
+ )
+
+add_subdirectory(helper)
+add_subdirectory(jtag)
+add_subdirectory(xsvf)
+add_subdirectory(svf)
+add_subdirectory(target)
+add_subdirectory(server)
+add_subdirectory(flash)
+add_subdirectory(pld)
+
+
+########### openocd target ###############
+
+set_source_files_properties( openocd.c PROPERTIES
+ COMPILE_FLAGS
+ -DPKGBLDDATE=${GETDATECMD}
+)
+
+set( LINK_LIBS
+ xsvf
+ svf
+ target
+ jtag
+ server
+ flash
+ target
+ pld
+ helper
+ ${CONDITIONAL_LIBS}
+ )
+
+
+########### target: the executable program
+
+if(BUILD_ECOSBOARD)
+ add_executable(openocd ecosboard.c openocd.c)
+else(BUILD_ECOSBOARD)
+ add_executable(openocd main.c openocd.c )
+endif(BUILD_ECOSBOARD)
+
+target_link_libraries(openocd ${LINK_LIBS} )
+
+
+########### target: the shared library, libopen-ocd.so
+
+add_library(open-ocd SHARED openocd.c) # omit main.c
+target_link_libraries(open-ocd ${LINK_LIBS} )
+
+
+########### install files ###############
+
+install(TARGETS openocd DESTINATION ${OPENOCD_BIN})
+
+install(
+ DIRECTORY tcl
+ DESTINATION ${OPENOCD_LIBS}
+ COMPONENT "tcl configuration files"
+ FILES_MATCHING PATTERN "*.tcl"
+ PATTERN ".svn" EXCLUDE
+ )
+
+# tcl/bitsbytes.tcl
+# tcl/memory.tcl
+# tcl/mmr_helpers.tcl
+# tcl/readable.tcl
+# tcl/chip/atmel/at91/aic.tcl
+# tcl/chip/atmel/at91/at91sam7x128.tcl
+# tcl/chip/atmel/at91/at91sam7x256.tcl
+# tcl/chip/atmel/at91/pmc.tcl
+# tcl/chip/atmel/at91/rtt.tcl
+# tcl/chip/atmel/at91/usarts.tcl
+# tcl/chip/st/stm32/stm32.tcl
+# tcl/chip/st/stm32/stm32_rcc.tcl
+# tcl/chip/st/stm32/stm32_regs.tcl
+# tcl/cpu/arm/arm7tdmi.tcl
+# tcl/cpu/arm/arm920.tcl
+# tcl/cpu/arm/arm946.tcl
+# tcl/cpu/arm/arm966.tcl
+# tcl/cpu/arm/cortex_m3.tcl
Property changes on: src/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/helper/CMakeLists.txt
===================================================================
--- src/helper/CMakeLists.txt (revision 0)
+++ src/helper/CMakeLists.txt (revision 0)
@@ -0,0 +1,67 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+
+# see http://vtk.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build
+
+#message( "CMAKE_CROSSCOMPILING=\"${CMAKE_CROSSCOMPILING}\"")
+
+if(CMAKE_CROSSCOMPILING)
+ set(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Point it to the \"ImportExecutables.cmake\" export file from a native build in another dir")
+ include(${IMPORT_EXECUTABLES})
+endif(CMAKE_CROSSCOMPILING)
+
+
+
+#always build the executable
+add_executable(bin2char bin2char.c)
+
+if(CMAKE_CROSSCOMPILING)
+ set(bin2char_EXE native-bin2char)
+else(CMAKE_CROSSCOMPILING)
+ set(bin2char_EXE bin2char)
+endif(CMAKE_CROSSCOMPILING)
+
+
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/startup_tcl.c
+ COMMAND ${bin2char_EXE} startup_tcl < ${CMAKE_CURRENT_SOURCE_DIR}/startup.tcl > ${CMAKE_CURRENT_BINARY_DIR}/startup_tcl.c
+ DEPENDS ${bin2char_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/startup.tcl
+)
+
+
+set( HELPER_SRCS
+ binarybuffer.c
+ command.c
+ configuration.c
+ fileio.c
+ log.c
+ replacements.c
+ ${CMAKE_CURRENT_BINARY_DIR}/startup_tcl.c
+ time_support.c
+)
+
+
+if(NOT BUILD_ECOSBOARD)
+ # omit these sources if building ecosboard, otherwise include them
+ set( HELPER_SRCS ${HELPER_SRCS} options.c jim.c jim-eventloop.c )
+endif(NOT BUILD_ECOSBOARD)
+
+
+if(BUILD_IOUTIL)
+ # add these souces if BUILD_IOUTIL
+ set( HELPER_SRCS ${HELPER_SRCS} ioutil.c )
+endif(BUILD_IOUTIL)
+
+
+add_library(helper STATIC ${HELPER_SRCS})
+
+
+# export the generator target to a file, so it can be imported (see above) by another build
+# the IF() is not necessary, but makes the intention clearer
+# use the NAMESPACE option of EXPORT() to get a different target name for mygenerator when exporting
+if(NOT CMAKE_CROSSCOMPILING)
+ export(TARGETS bin2char FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
+endif(NOT CMAKE_CROSSCOMPILING)
+
Property changes on: src/helper/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/server/CMakeLists.txt
===================================================================
--- src/server/CMakeLists.txt (revision 0)
+++ src/server/CMakeLists.txt (revision 0)
@@ -0,0 +1,32 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+set( SERVER_SRCS
+ server.c
+ telnet_server.c
+ gdb_server.c
+ tcl_server.c
+ )
+
+if(BUILD_HTTPD)
+ list(APPEND SERVER_SRCS httpd.c)
+ file(GLOB HTTP_DATA httpd/*.tcl httpd/*.css httpd/menu_cuts/*.png)
+ #message( ${HTTP_DATA} )
+
+ install(
+ DIRECTORY httpd
+ DESTINATION ${OPENOCD_LIBS}
+ COMPONENT "httpd data files"
+ FILES_MATCHING
+ PATTERN "*.tcl"
+ PATTERN "*.css"
+ PATTERN "*.png"
+ PATTERN ".svn" EXCLUDE
+ )
+
+endif(BUILD_HTTPD)
+
+add_library(server STATIC ${SERVER_SRCS})
+
+
Property changes on: src/server/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/target/CMakeLists.txt
===================================================================
--- src/target/CMakeLists.txt (revision 0)
+++ src/target/CMakeLists.txt (revision 0)
@@ -0,0 +1,75 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+
+
+SET(TARGET_SRCS
+ avrt.c
+ target.c
+ register.c
+ breakpoints.c
+ armv4_5.c
+ embeddedice.c
+ etm.c
+ arm7tdmi.c
+ arm9tdmi.c
+ arm_jtag.c
+ arm7_9_common.c
+ algorithm.c
+ arm920t.c
+ arm720t.c
+ armv4_5_mmu.c
+ armv4_5_cache.c
+ arm_disassembler.c
+ arm966e.c
+ arm926ejs.c
+ feroceon.c
+ etb.c
+ xscale.c
+ arm_simulator.c
+ image.c
+ armv7m.c
+ cortex_m3.c
+ arm_adi_v5.c
+ etm_dummy.c
+ target_request.c
+ trace.c
+ arm11.c
+ arm11_dbgtap.c
+ mips32.c
+ mips_m4k.c
+ mips32_pracc.c
+ mips32_dmaacc.c
+ mips_ejtag.c
+ )
+
+
+if(BUILD_OOCD_TRACE)
+ list(APPEND TARGET_SRCS oocd_trace.c)
+endif(BUILD_OOCD_TRACE)
+
+
+add_library(target STATIC ${TARGET_SRCS})
+
+
+install(
+ FILES xscale/debug_handler.bin
+ DESTINATION ${OPENOCD_LIBS}/xscale
+ COMPONENT xscale/debug_handler
+ )
+
+install(
+ FILES ecos/at91eb40a.elf
+ DESTINATION ${OPENOCD_LIBS}/ecos
+ COMPONENT "ecos/elf stuff"
+ )
+
+# find all cfg files and install them into the OPENOCD_LIBS directory
+install(
+ DIRECTORY target interface board test
+ DESTINATION ${OPENOCD_LIBS}
+ COMPONENT "tcl configuration files"
+ FILES_MATCHING PATTERN "*.cfg"
+ PATTERN ".svn" EXCLUDE
+ )
+
Property changes on: src/target/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Index: src/config.h.cmake
===================================================================
--- src/config.h.cmake (revision 0)
+++ src/config.h.cmake (revision 0)
@@ -0,0 +1,209 @@
+/***************************************************************************
+ * Copyright (C) 2009 SoftPLC Corporation http://softplc.com *
+ * Dick Hollenbeck <d...@softplc.com> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#ifndef CONFIG_H_
+#define CONFIG_H_
+
+/* config.h is created by CMake during a preprocessing operation from config.h.cmake */
+
+/* if you want the Amontec JTAG-Accelerator driver. */
+#cmakedefine BUILD_AMTJTAGACCEL 1
+
+/* if you want the ARM-JTAG-EW JTAG driver. */
+#cmakedefine BUILD_ARMJTAGEW 1
+
+/* if you want at91rm9200. */
+#cmakedefine BUILD_AT91RM9200 1
+
+/* if you want a bitbang interface. */
+#cmakedefine BUILD_BITBANG 1
+
+/* if you want a bitq interface. */
+#cmakedefine BUILD_BITQ 1
+
+/* if you want dummy driver. */
+#cmakedefine BUILD_DUMMY 1
+
+/* if you want eCosBoard. */
+#cmakedefine BUILD_ECOSBOARD 1
+
+/* if you want ep93xx. */
+#cmakedefine BUILD_EP93XX 1
+
+/* if you want ftd2xx ft2232. */
+#cmakedefine BUILD_FT2232_FTD2XX 1
+
+/* if you want libftdi ft2232. */
+#cmakedefine BUILD_FT2232_LIBFTDI 1
+
+/* if you want the Gateworks GW16012 driver. */
+#cmakedefine BUILD_GW16012 1
+
+/* if you want httpd. */
+#cmakedefine BUILD_HTTPD 1
+
+/* if you want ioutils. */
+#cmakedefine BUILD_IOUTIL 1
+
+/* if you want the J-Link JTAG driver. */
+#cmakedefine BUILD_JLINK 1
+
+/* if you want the OpenOCD+trace ETM capture driver. */
+#cmakedefine BUILD_OOCD_TRACE 1
+
+/* if you want parport. */
+#cmakedefine BUILD_PARPORT 1
+
+/* if you want the ASIX PRESTO driver using FTD2XX. */
+#cmakedefine BUILD_PRESTO_FTD2XX 1
+
+/* if you want the ASIX PRESTO driver using libftdi. */
+#cmakedefine BUILD_PRESTO_LIBFTDI 1
+
+/* if you want the RLink JTAG driver. */
+#cmakedefine BUILD_RLINK 1
+
+/* if you want the usbprog JTAG driver. */
+#cmakedefine BUILD_USBPROG 1
+
+/* if you want the Versaloon-Link JTAG driver. */
+#cmakedefine BUILD_VSLLINK 1
+
+/* if you want parport to use giveio. */
+#cmakedefine PARPORT_USE_GIVEIO 1
+
+/* if you want parport to use ppdev. */
+#cmakedefine PARPORT_USE_PPDEV 1
+
+/* Define to 1 if you have the <elf.h> header file. */
+#cmakedefine HAVE_ELF_H 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#cmakedefine HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <jtag_minidriver.h> header file. */
+#cmakedefine HAVE_JTAG_MINIDRIVER_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#cmakedefine HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#cmakedefine HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#cmakedefine HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strndup' function. */
+#cmakedefine HAVE_STRNDUP 1
+
+/* Define to 1 if you have the `strnlen' function. */
+#cmakedefine HAVE_STRNLEN 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#cmakedefine HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#cmakedefine HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#cmakedefine HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `usleep' function. */
+#cmakedefine HAVE_USLEEP 1
+
+/* Define to 1 if you have the `vasprintf' function. */
+#cmakedefine HAVE_VASPRINTF 1
+
+/* Define to 1 if you have the ANSI C header files. */
+#cmakedefine STDC_HEADERS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#cmakedefine TIME_WITH_SYS_TIME 1
+
+/* Version number of package */
+#define VERSION "${VERSION}"
+
+/* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX). */
+#cmakedefine WORDS_BIGENDIAN 1
+
+/* if building for Cygwin. */
+#cmakedefine IS_CYGWIN 1
+
+/* 1 if building for MinGW. */
+#cmakedefine IS_MINGW 1
+
+/* if not building for Win32. */
+#cmakedefine IS_WIN32 1
+
+/* Name of package, autotools relic */
+#define PACKAGE "openocd"
+
+/* Define to the address where bug reports for this package should be sent. */
+#cmakedefine PACKAGE_BUGREPORT 1
+
+/* Define to the full name of this package. */
+#cmakedefine PACKAGE_NAME 1
+
+/* Define to the full name and version of this package. */
+#cmakedefine PACKAGE_STRING 1
+
+/* Define to the one symbol short name of this package. */
+#cmakedefine PACKAGE_TARNAME 1
+
+/* Define to the version of this package. */
+#cmakedefine PACKAGE_VERSION 1
+
+#define PKGLIBDIR "${PKGLIBDIR}"
+
+#define PKGDATADIR "${PKGDATADIR}"
+
+/* Define the subversion revision number, in double quotes */
+#define PKGBLDREV "${PKGBLDREV}"
+
+/* A leading prompt for the version number, in double quotes */
+#define RELSTR "${RELSTR}"
+
+/* configure some debugging #defines */
+#cmakedefine _DEBUG_JTAG_IO_ 1
+#cmakedefine _DEBUG_USB_IO_ 1
+#cmakedefine _DEBUG_USB_COMMS_ 1
+#cmakedefine _DEBUG_TAP_STATES_ 1
+#define DEBUG_JTAG_IOZ ${DEBUG_JTAG_IOZ}
+
+#endif /* CONFIG_H_ */
Property changes on: src/config.h.cmake
___________________________________________________________________
Added: svn:eol-style
+ native
Index: src/CMakeModules/FindLibUSB.cmake
===================================================================
--- src/CMakeModules/FindLibUSB.cmake (revision 0)
+++ src/CMakeModules/FindLibUSB.cmake (revision 0)
@@ -0,0 +1,63 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+#
+# - Find libusb library
+#
+# Before calling, USE_STATIC_USB may be set to mandate a STATIC library
+#
+# This module defines
+# LIBUSB_INCLUDE_DIR, where to find usb.h
+# LIBUSB_LIBRARIES, the libraries needed to use libusb
+# LIBUSB_FOUND, if false, the library was NOT found
+
+
+if(NOT LIBUSB_FOUND)
+
+ if(NOT WIN32 AND NOT LIBUSB_INCLUDE_DIR AND NOT LIBUSB_LIBRARIES )
+ include(FindPkgConfig)
+ pkg_check_modules(LIBUSB_PKG libusb)
+ endif(NOT WIN32 AND NOT LIBUSB_INCLUDE_DIR AND NOT LIBUSB_LIBRARIES )
+
+ find_path(LIBUSB_INCLUDE_DIR NAMES usb.h
+ PATHS
+ ${LIBUSB_PKG_INCLUDE_DIRS}
+ /usr/include
+ /usr/local/include
+ )
+
+ if(USE_STATIC_USB)
+ set(_save ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ endif(USE_STATIC_USB)
+
+ find_library(LIBUSB_LIBRARIES NAMES usb
+ PATHS
+ ${LIBUSB_PKG_LIBRARY_DIRS}
+ /usr/lib
+ /usr/local/lib
+ )
+
+ if(USE_STATIC_USB)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_save})
+ endif(USE_STATIC_USB)
+
+ include(FindPackageHandleStandardArgs)
+
+ # handle the QUIETLY AND REQUIRED arguments AND set LIBUSB_FOUND to TRUE if
+ # all listed variables are TRUE
+ find_package_handle_standard_args(LIBUSB DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR)
+
+ if(USE_STATIC_USB)
+ add_library(libusb STATIC IMPORTED)
+ else(USE_STATIC_USB)
+ add_library(libusb SHARED IMPORTED)
+ endif(USE_STATIC_USB)
+
+ if(LIBUSB_FOUND)
+ set_target_properties(libusb PROPERTIES IMPORTED_LOCATION ${LIBUSB_LIBRARIES})
+ set(${LIBUSB_LIBRARIES} libusb)
+ endif(LIBUSB_FOUND)
+
+ #mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
+
+endif(NOT LIBUSB_FOUND)
Property changes on: src/CMakeModules/FindLibUSB.cmake
___________________________________________________________________
Added: svn:eol-style
+ native
Index: src/CMakeModules/FindLibWinsock.cmake
===================================================================
--- src/CMakeModules/FindLibWinsock.cmake (revision 0)
+++ src/CMakeModules/FindLibWinsock.cmake (revision 0)
@@ -0,0 +1,33 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+#
+# - Find libws2_32 library, the winsock on Windows library
+#
+#
+# This module defines
+# LIBWS2_32_INCLUDE_DIR, where to find winsock2.h
+# LIBWS2_32_LIBRARIES, the libraries needed to use libws2_32
+# LIBWS2_32_FOUND, if false, the library was NOT found
+
+
+if(NOT LIBWS2_32_FOUND)
+
+ find_path(LIBWS2_32_INCLUDE_DIR NAMES winsock2.h
+ PATHS
+ ${CMAKE_FIND_ROOT_PATH}/include
+ )
+
+ find_library(LIBWS2_32_LIBRARIES NAMES libws2_32.a
+ PATHS
+ ${CMAKE_FIND_ROOT_PATH}/lib
+ )
+
+ include(FindPackageHandleStandardArgs)
+
+ # handle the QUIETLY AND REQUIRED arguments AND set LIBWS2_32_FOUND to TRUE if
+ # all listed variables are TRUE
+ find_package_handle_standard_args(LIBWS2_32 DEFAULT_MSG LIBWS2_32_LIBRARIES LIBWS2_32_INCLUDE_DIR)
+
+ #mark_as_advanced(LIBWS2_32_INCLUDE_DIR LIBWS2_32_LIBRARIES)
+
+endif(NOT LIBWS2_32_FOUND)
Index: src/CMakeModules/FindLibFTD2XX.cmake
===================================================================
--- src/CMakeModules/FindLibFTD2XX.cmake (revision 0)
+++ src/CMakeModules/FindLibFTD2XX.cmake (revision 0)
@@ -0,0 +1,70 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+#
+# - Try to find libftd2xx
+#
+# There is no static library for libftd2xx, so a dynamic library is used
+#
+# Once done this will define
+#
+# LIBFTD2XX_FOUND - system has libftdi
+# LIBFTD2XX_INCLUDE_DIR - the libftdi include directory
+# LIBFTD2XX_LIBRARIES - Link these to use libftdi
+
+
+if (NOT LIBFTD2XX_FOUND)
+
+ if(NOT WIN32)
+ include(FindPkgConfig)
+ pkg_check_modules(LIBFTD2XX_PKG libftd2xx)
+ endif(NOT WIN32)
+
+ find_path(LIBFTD2XX_INCLUDE_DIR
+ NAMES
+ ftd2xx.h
+ HINTS
+ ${LIBFTD2XX_PKG_INCLUDE_DIRS}
+ PATHS
+ /usr/include
+ /usr/local/include
+ )
+
+ #message("CMAKE_FIND_LIBRARY_SUFFIXES=\"${CMAKE_FIND_LIBRARY_SUFFIXES}\"")
+
+# if(USE_STATIC_FT2232)
+# set(_save ${CMAKE_FIND_LIBRARY_SUFFIXES})
+# set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+# endif(USE_STATIC_FT2232)
+
+ find_library(LIBFTD2XX_LIBRARIES
+ NAMES
+ ftd2xx
+ ${LIBFTD2XX_PKG_LIBRARY_DIRS}
+ PATHS
+ /usr/lib
+ /usr/local/lib
+ )
+
+# if(USE_STATIC_FT2232)
+# set(CMAKE_FIND_LIBRARY_SUFFIXES ${_save} )
+# endif(USE_STATIC_FT2232)
+
+ include(FindPackageHandleStandardArgs)
+
+ # handle the QUIETLY AND REQUIRED arguments AND set LIBFTD2XX_FOUND to TRUE if
+ # all listed variables are TRUE
+ find_package_handle_standard_args(LIBFTD2XX DEFAULT_MSG LIBFTD2XX_LIBRARIES LIBFTD2XX_INCLUDE_DIR)
+
+# if(USE_STATIC_FT2232)
+# add_library(libftd2xx STATIC IMPORTED)
+# else(USE_STATIC_FT2232)
+# add_library(libftd2xx SHARED IMPORTED)
+# endif(USE_STATIC_FT2232)
+
+# set_target_properties(libftd2xx PROPERTIES IMPORTED_LOCATION ${LIBFTD2XX_LIBRARIES})
+# set(${LIBFTD2XX_LIBRARIES} libftd2xx)
+
+ #mark_as_advanced(LIBFTD2XX_INCLUDE_DIR LIBFTD2XX_LIBRARIES)
+
+endif(NOT LIBFTD2XX_FOUND)
Property changes on: src/CMakeModules/FindLibFTD2XX.cmake
___________________________________________________________________
Added: svn:eol-style
+ native
Index: src/CMakeModules/FindLibFTDI.cmake
===================================================================
--- src/CMakeModules/FindLibFTDI.cmake (revision 0)
+++ src/CMakeModules/FindLibFTDI.cmake (revision 0)
@@ -0,0 +1,76 @@
+# Copyright 2009 SoftPLC Corporation http://softplc.com
+# Dick Hollenbeck <d...@softplc.com>
+# License: GPL v2
+#
+# - Try to find libftdi
+#
+# Before calling, USE_STATIC_FTDI may be set to mandate a STATIC library
+#
+# Once done this will define
+#
+# LIBFTDI_FOUND - system has libftdi
+# LIBFTDI_INCLUDE_DIR - the libftdi include directory
+# LIBFTDI_LIBRARIES - Link these to use libftdi
+
+
+if (NOT LIBFTDI_FOUND)
+
+ if(NOT WIN32)
+ include(FindPkgConfig)
+ pkg_check_modules(LIBFTDI_PKG libftdi)
+ endif(NOT WIN32)
+
+ find_path(LIBFTDI_INCLUDE_DIR
+ NAMES
+ ftdi.h
+ HINTS
+ ${LIBFTDI_PKG_INCLUDE_DIRS}
+ PATHS
+ /usr/include
+ /usr/local/include
+ )
+
+ #message("USE_STATIC_FTDI=\"${USE_STATIC_FTDI}\"")
+ if(USE_STATIC_FTDI)
+ set(_save ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ endif(USE_STATIC_FTDI)
+
+ #message("LIBFTDI_PKG_LIBRARY_DIRS=\"${LIBFTDI_PKG_LIBRARY_DIRS}\"")
+
+ find_library(LIBFTDI_LIBRARIES
+ NAMES
+ ftdi
+ HINTS
+ ${LIBFTDI_PKG_LIBRARY_DIRS}
+ PATHS
+ /usr/lib
+ /usr/local/lib
+ )
+
+ #message("LIBFTDI_LIBRARIES=\"${LIBFTDI_LIBRARIES}\"")
+
+ if(USE_STATIC_FTDI)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_save} )
+ endif(USE_STATIC_FTDI)
+
+ include(FindPackageHandleStandardArgs)
+
+ # handle the QUIETLY AND REQUIRED arguments AND set LIBFTDI_FOUND to TRUE if
+ # all listed variables are TRUE
+ find_package_handle_standard_args(LIBFTDI DEFAULT_MSG LIBFTDI_LIBRARIES LIBFTDI_INCLUDE_DIR)
+
+ if(USE_STATIC_FTDI)
+ add_library(libftdi STATIC IMPORTED)
+ else(USE_STATIC_FTDI)
+ add_library(libftdi SHARED IMPORTED)
+ endif(USE_STATIC_FTDI)
+
+ if(LIBFTDI_FOUND)
+ set_target_properties(libftdi PROPERTIES IMPORTED_LOCATION ${LIBFTDI_LIBRARIES})
+ set(${LIBFTDI_LIBRARIES} libftdi)
+ endif(LIBFTDI_FOUND)
+
+ #mark_as_advanced(LIBFTDI_INCLUDE_DIR LIBFTDI_LIBRARIES)
+
+endif(NOT LIBFTDI_FOUND)
Property changes on: src/CMakeModules/FindLibFTDI.cmake
___________________________________________________________________
Added: svn:eol-style
+ native
Index: src/CMakeModules/mingw-toolchain.cmake
===================================================================
--- src/CMakeModules/mingw-toolchain.cmake (revision 0)
+++ src/CMakeModules/mingw-toolchain.cmake (revision 0)
@@ -0,0 +1,23 @@
+
+# This is a CMake toolchain file that supports compiling to Mingw from Linux:
+# http://vtk.org/Wiki/CMake_Cross_Compiling
+
+
+# ~/src/build$ cmake -DCMAKE_TOOLCHAIN_FILE=<path-to-this-file> ..
+
+
+SET(CMAKE_SYSTEM_NAME Windows)
+
+# specify the cross compiler
+SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
+
+# where is the target environment
+SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc)
+
+# search for programs in the build host directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+
+
+# for libraries and headers in the target directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development