X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=CMakeLists.txt;h=c98482721df34a29c8a5d61bb4e476807eb171a0;hp=d082932fee56592c44a5010f282ee5afd14cbcad;hb=7a07197c9730977af3789b28a89f0b4033543fb7;hpb=08febc5eb9ee23b4b1734ab025cbcc2916a7d040 diff --git a/CMakeLists.txt b/CMakeLists.txt index d082932..c984827 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,12 @@ # Project project(libftdi) -set(MAJOR_VERSION 0) -set(MINOR_VERSION 17) +set(MAJOR_VERSION 1) +set(MINOR_VERSION 0) +set(PACKAGE libftdi) set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}) +set(VERSION ${VERSION_STRING}) SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}") -option(ASYNC-MODE "enable experimental async mode. Linux only") -if(ASYNC-MODE) - add_definitions(-DLIBFTDI_LINUX_ASYNC_MODE) -endif(ASYNC-MODE) - # CMake if("${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_BUILD_TYPE Debug) @@ -17,6 +14,8 @@ endif("${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_COLOR_MAKEFILE ON) cmake_minimum_required(VERSION 2.6 FATAL_ERROR) +add_definitions(-Wall) + # Debug build message("-- Build type: ${CMAKE_BUILD_TYPE}") if(${CMAKE_BUILD_TYPE} STREQUAL Debug) @@ -26,6 +25,9 @@ endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) FIND_PACKAGE(USB1 REQUIRED) INCLUDE_DIRECTORIES(${LIBUSB_INCLUDE_DIR}) +# Find Boost (optional package) +find_package(Boost) + # Set components set(CPACK_COMPONENTS_ALL sharedlibs staticlibs headers) set(CPACK_COMPONENT_SHAREDLIBS_DISPLAY_NAME "Shared libraries") @@ -43,18 +45,26 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development") set(CPACK_COMPONENT_STATICLIBS_GROUP "Development") set(CPACK_COMPONENT_HEADERS_GROUP "Development") -# Create suffix to eventually install in lib64 -IF(CMAKE_SIZEOF_VOID_P EQUAL 4) - SET(LIB_SUFFIX "") - SET(PACK_ARCH "") - ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8) - SET(LIB_SUFFIX 64) - SET(PACK_ARCH .x86_64) -endif(CMAKE_SIZEOF_VOID_P EQUAL 4) +# automatically set lib suffix +if ( UNIX AND NOT APPLE AND NOT CMAKE_CROSSCOMPILING AND NOT EXISTS "/etc/debian_version" ) + if ( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT LIB_SUFFIX ) + set ( LIB_SUFFIX 64 ) + endif () +endif () + +if(NOT APPLE) + if(CMAKE_SIZEOF_VOID_P EQUAL 4) + SET(PACK_ARCH "") + else(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(PACK_ARCH .x86_64) + endif(CMAKE_SIZEOF_VOID_P EQUAL 4) +else(NOT APPLE) + SET(PACK_ARCH "") +endif(NOT APPLE) # Package information set(CPACK_PACKAGE_VERSION ${VERSION_STRING}) -set(CPACK_PACKAGE_CONTACT "Marek Vavrusa ") +set(CPACK_PACKAGE_CONTACT "Intra2net AG ") set(CPACK_PACKAGE_DESCRIPTION "libftdi library.") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION} ) @@ -91,21 +101,28 @@ endif(${UNIX}) add_subdirectory(src) add_subdirectory(ftdipp) add_subdirectory(bindings) +add_subdirectory(ftdi_eeprom) add_subdirectory(examples) add_subdirectory(packages) +add_subdirectory(test) +# "make dist" target +set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${VERSION_STRING}) +add_custom_target(dist + COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD + | bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2 + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) # Documentation option(DOCUMENTATION "Generate API documentation with Doxygen" ON) + find_package(Doxygen) if(DOCUMENTATION AND DOXYGEN_FOUND) # Set variables - set(PACKAGE libftdi) - set(VERSION ${VERSION_STRING}) set(top_srcdir ${CMAKE_SOURCE_DIR}) # Find doxy config @@ -119,8 +136,8 @@ if(DOCUMENTATION AND DOXYGEN_FOUND) # Create doc directory add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/doc - COMMAND rm -rf ${CMAKE_BINARY_DIR}/doc - COMMAND mkdir ${CMAKE_BINARY_DIR}/doc + COMMAND rm -rf ${CMAKE_BINARY_DIR}/doc/{html,man} + COMMAND mkdir -p ${CMAKE_BINARY_DIR}/doc DEPENDS ftdi ftdipp ) @@ -157,8 +174,8 @@ install(FILES ${CMAKE_BINARY_DIR}/libftdi.pc ${CMAKE_BINARY_DIR}/libftdipp.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) if(${UNIX}) - configure_file(${CMAKE_SOURCE_DIR}/libftdi-config.in ${CMAKE_BINARY_DIR}/libftdi-config @ONLY) - install(PROGRAMS ${CMAKE_BINARY_DIR}/libftdi-config DESTINATION bin) + configure_file(${CMAKE_SOURCE_DIR}/libftdi1-config.in ${CMAKE_BINARY_DIR}/libftdi1-config @ONLY) + install(PROGRAMS ${CMAKE_BINARY_DIR}/libftdi1-config DESTINATION bin) endif(${UNIX}) include(CPack)