Added confuse script and moved cmake files
authorMichel Zou <xantares09@hotmail.com>
Tue, 19 Feb 2013 09:44:32 +0000 (10:44 +0100)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Tue, 26 Feb 2013 16:04:08 +0000 (17:04 +0100)
CMakeLists.txt
cmake/FindConfuse.cmake [new file with mode: 0644]
cmake/FindUSB1.cmake [moved from FindUSB1.cmake with 100% similarity]
ftdi_eeprom/CMakeLists.txt

index 3616c66..a17b226 100644 (file)
@@ -5,7 +5,7 @@ set(MINOR_VERSION 0)
 set(PACKAGE libftdi1)
 set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION})
 set(VERSION ${VERSION_STRING})
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
+set ( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
 
 # CMake
 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
diff --git a/cmake/FindConfuse.cmake b/cmake/FindConfuse.cmake
new file mode 100644 (file)
index 0000000..ab25eef
--- /dev/null
@@ -0,0 +1,74 @@
+# libConfuse is a configuration file parser library
+# available at http://www.nongnu.org/confuse/
+#
+# The module defines the following variables:
+#  CONFUSE_FOUND - the system has Confuse
+#  CONFUSE_INCLUDE_DIR - where to find confuse.h
+#  CONFUSE_INCLUDE_DIRS - confuse includes
+#  CONFUSE_LIBRARY - where to find the Confuse library
+#  CONFUSE_LIBRARIES - aditional libraries
+#  CONFUSE_ROOT_DIR - root dir (ex. /usr/local)
+
+#=============================================================================
+# Copyright 2010-2013, Julien Schueller
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met: 
+# 
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer. 
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies, 
+# either expressed or implied, of the FreeBSD Project.
+#=============================================================================
+
+
+find_path ( CONFUSE_INCLUDE_DIR
+  NAMES confuse.h
+)
+
+set ( CONFUSE_INCLUDE_DIRS ${CONFUSE_INCLUDE_DIR} )
+
+find_library ( CONFUSE_LIBRARY
+  NAMES confuse
+)
+
+set ( CONFUSE_LIBRARIES ${CONFUSE_LIBRARY} )
+
+
+# try to guess root dir from include dir
+if ( CONFUSE_INCLUDE_DIR )
+  string ( REGEX REPLACE "(.*)/include.*" "\\1" CONFUSE_ROOT_DIR ${CONFUSE_INCLUDE_DIR} )
+# try to guess root dir from library dir
+elseif ( CONFUSE_LIBRARY )
+  string ( REGEX REPLACE "(.*)/lib[/|32|64].*" "\\1" CONFUSE_ROOT_DIR ${CONFUSE_LIBRARY} )
+endif ()
+
+
+# handle the QUIETLY and REQUIRED arguments
+include ( FindPackageHandleStandardArgs )
+find_package_handle_standard_args( Confuse DEFAULT_MSG CONFUSE_LIBRARY CONFUSE_INCLUDE_DIR  )
+
+mark_as_advanced (
+  CONFUSE_LIBRARY 
+  CONFUSE_LIBRARIES
+  CONFUSE_INCLUDE_DIR
+  CONFUSE_INCLUDE_DIRS
+  CONFUSE_ROOT_DIR
+)
similarity index 100%
rename from FindUSB1.cmake
rename to cmake/FindUSB1.cmake
index a843b8e..573b8ec 100644 (file)
@@ -1,43 +1,39 @@
-set(FTDI_BUILD_EEPROM False PARENT_SCOPE)
 
 option(FTDI_EEPROM "Build ftdi_eeprom" ON)
 
-if (FTDI_EEPROM)
-    include(FindPkgConfig)
-    pkg_check_modules(Confuse libconfuse)
-    INCLUDE_DIRECTORIES(${Confuse_INCLUDE_DIRS})
-    LINK_DIRECTORIES(${Confuse_LIBRARY_DIRS})
-    SET(libs ${libs} ${Confuse_LIBRARIES})
+if ( FTDI_EEPROM )
+  find_package ( Confuse )
+else(FTDI_EEPROM)
+  message(STATUS "ftdi_eeprom build is disabled")
+endif ()
 
-    if(Confuse_FOUND)
-        set(FTDI_BUILD_EEPROM True PARENT_SCOPE)
-        message(STATUS "Building ftdi_eeprom")
 
-        # Version defines
-        set(EEPROM_MAJOR_VERSION 0)
-        set(EEPROM_MINOR_VERSION 17)
-        set(EEPROM_VERSION_STRING ${EEPROM_MAJOR_VERSION}.${EEPROM_MINOR_VERSION})
+if ( CONFUSE_FOUND )
+  message(STATUS "Building ftdi_eeprom")
 
-        include_directories(BEFORE ${CMAKE_SOURCE_DIR}/src)
-        include_directories(BEFORE ${CMAKE_BINARY_DIR}/ftdi_eeprom)
+  include_directories ( ${CONFUSE_INCLUDE_DIRS} )
 
-        configure_file(
-          "ftdi_eeprom_version.h.in"
-          "${CMAKE_BINARY_DIR}/ftdi_eeprom/ftdi_eeprom_version.h"
-        )
+  list ( APPEND libs ${CONFUSE_LIBRARIES} )
 
-        add_executable(ftdi_eeprom main.c)
-        target_link_libraries(ftdi_eeprom ftdi1)
-        target_link_libraries(ftdi_eeprom ${Confuse_LIBRARIES})
+  # Version defines
+  set ( EEPROM_MAJOR_VERSION 0 )
+  set ( EEPROM_MINOR_VERSION 17 )
+  set ( EEPROM_VERSION_STRING ${EEPROM_MAJOR_VERSION}.${EEPROM_MINOR_VERSION} )
 
-        install(TARGETS ftdi_eeprom DESTINATION bin)
+  include_directories ( BEFORE ${CMAKE_SOURCE_DIR}/src )
+  include_directories ( BEFORE ${CMAKE_CURRENT_BINARY_DIR} )
 
-    else(Confuse_FOUND)
-        message(STATUS "libConfuse not found, won't build ftdi_eeprom")
-    endif(Confuse_FOUND)
+  configure_file(
+    ftdi_eeprom_version.h.in
+    ${CMAKE_CURRENT_BINARY_DIR}/ftdi_eeprom_version.h
+  )
 
-else(FTDI_EEPROM)
+  add_executable ( ftdi_eeprom main.c )
+  target_link_libraries ( ftdi_eeprom ftdi1 )
+  target_link_libraries ( ftdi_eeprom ${CONFUSE_LIBRARIES} )
 
-    message(STATUS "ftdi_eeprom build is disabled")
+  install ( TARGETS ftdi_eeprom DESTINATION bin )
+else ()
+  message ( STATUS "libConfuse not found, won't build ftdi_eeprom" )
+endif ()
 
-endif(FTDI_EEPROM)