X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=CMakeLists.txt;h=e7127f7c8a3f053441d097c7ed72bd0d879573a7;hp=233d1da7049459fb2e79f6b96b93987af4ad5317;hb=c5285326555f088e7626dfa67ea7059e094d6e73;hpb=4af77d33ddfb96c32760ee9a662fa34c6678e792 diff --git a/CMakeLists.txt b/CMakeLists.txt index 233d1da..e7127f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 "") @@ -22,8 +22,9 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug) add_definitions(-DDEBUG) endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) -FIND_PACKAGE(USB1 REQUIRED) -INCLUDE_DIRECTORIES(${LIBUSB_INCLUDE_DIR}) +# find libusb +find_package ( USB1 REQUIRED ) +include_directories ( ${LIBUSB_INCLUDE_DIR} ) # Find Boost (optional package) find_package(Boost) @@ -45,10 +46,12 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development") set(CPACK_COMPONENT_STATICLIBS_GROUP "Development") set(CPACK_COMPONENT_HEADERS_GROUP "Development") -# 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 ) +# guess LIB_SUFFIX, don't take debian multiarch into account +if ( NOT DEFINED LIB_SUFFIX ) + if ( CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CROSSCOMPILING AND NOT EXISTS "/etc/debian_version" ) + if ( "${CMAKE_SIZEOF_VOID_P}" EQUAL "8" ) + set ( LIB_SUFFIX 64 ) + endif () endif () endif () @@ -69,23 +72,23 @@ set(CPACK_PACKAGE_DESCRIPTION "libftdi1 library.") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION} ) # Package settings -if(${UNIX}) +if ( UNIX ) set(CPACK_GENERATOR "DEB;RPM") set(CPACK_CMAKE_GENERATOR "Unix Makefiles") set(CPACK_PACKAGE_NAME ${PROJECT_NAME}) set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}${PACK_ARCH}) -endif(${UNIX}) +endif () -if(${WIN32}) - set(CPACK_GENERATOR "NSIS") - set(CPACK_CMAKE_GENERATOR "MinGW Makefiles") - set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") - set(CPACK_PACKAGE_VENDOR "") - set(CPACK_PACKAGE_INSTALL_DIRECTORY "libftdi1") - set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32") - set(CPACK_NSIS_DISPLAY_NAME "libftdi1") - set(CPACK_NSIS_MODIFY_PATH "ON") -endif(${WIN32}) +if ( WIN32 ) + set ( CPACK_GENERATOR "NSIS" ) + set ( CPACK_CMAKE_GENERATOR "MinGW Makefiles" ) + set ( CPACK_PACKAGE_NAME "${PROJECT_NAME}" ) + set ( CPACK_PACKAGE_VENDOR "" ) + set ( CPACK_PACKAGE_INSTALL_DIRECTORY "libftdi1" ) + set ( CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32") + set ( CPACK_NSIS_DISPLAY_NAME "libftdi1" ) + set ( CPACK_NSIS_MODIFY_PATH ON ) +endif () set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE) @@ -94,9 +97,9 @@ set(CPACK_SOURCE_IGNORE_FILES "\\\\.git;~$;build/") set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}) # Subdirectories -if(${UNIX}) - set(CPACK_SET_DESTDIR "ON") -endif(${UNIX}) +if ( UNIX ) + set ( CPACK_SET_DESTDIR ON ) +endif () # "make dist" target set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${VERSION_STRING}) @@ -107,12 +110,11 @@ add_custom_target(dist # Documentation +option ( DOCUMENTATION "Generate API documentation with Doxygen" ON ) -option(DOCUMENTATION "Generate API documentation with Doxygen" ON) - -find_package(Doxygen) -if(DOCUMENTATION AND DOXYGEN_FOUND) +find_package ( Doxygen ) +if ( DOCUMENTATION AND DOXYGEN_FOUND ) # Find doxy config message(STATUS "Doxygen found.") @@ -139,7 +141,7 @@ endif(DOCUMENTATION AND DOXYGEN_FOUND) add_subdirectory(src) add_subdirectory(ftdipp) -add_subdirectory(bindings) +add_subdirectory(python) add_subdirectory(ftdi_eeprom) add_subdirectory(examples) add_subdirectory(packages) @@ -168,21 +170,32 @@ if ( UNIX ) install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config DESTINATION bin ) - get_target_property( _LIBFTDI_LIBRARY_LOCATION ftdi1 LOCATION ) - get_filename_component ( _LIBFTDI_LIBRARY_NAME ${_LIBFTDI_LIBRARY_LOCATION} NAME ) + # config script install path + if ( NOT DEFINED LIBFTDI_CMAKE_CONFIG_DIR ) + set ( LIBFTDI_CMAKE_CONFIG_DIR lib${LIB_SUFFIX}/cmake/libftdi1 ) + endif () + set ( LIBFTDI_INCLUDE_DIR ${includedir} ) set ( LIBFTDI_INCLUDE_DIRS ${LIBFTDI_INCLUDE_DIR} ) + get_target_property( _LIBFTDI_LIBRARY_LOCATION ftdi1 LOCATION ) + get_filename_component ( _LIBFTDI_LIBRARY_NAME ${_LIBFTDI_LIBRARY_LOCATION} NAME ) set ( LIBFTDI_LIBRARY ${libdir}/${_LIBFTDI_LIBRARY_NAME} ) set ( LIBFTDI_LIBRARIES ${LIBFTDI_LIBRARY} ) list ( APPEND LIBFTDI_LIBRARIES ${LIBUSB_LIBRARIES} ) + get_target_property( _LIBFTDIPP_LIBRARY_LOCATION ftdipp1 LOCATION ) + get_filename_component ( _LIBFTDIPP_LIBRARY_NAME ${_LIBFTDIPP_LIBRARY_LOCATION} NAME ) + set ( LIBFTDIPP_LIBRARY ${libdir}/${_LIBFTDIPP_LIBRARY_NAME} ) + set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ) + list ( APPEND LIBFTDIPP_LIBRARIES ${LIBUSB_LIBRARIES} ) set ( LIBFTDI_ROOT_DIR ${prefix} ) set ( LIBFTDI_VERSION_STRING ${VERSION_STRING} ) set ( LIBFTDI_VERSION_MAJOR ${MAJOR_VERSION} ) set ( LIBFTDI_VERSION_MINOR ${MINOR_VERSION} ) - set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/lib/cmake/libftdi/UseLibFTDI.cmake ) - configure_file ( LibFTDIConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDIConfig.cmake @ONLY ) - install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/LibFTDIConfig.cmake UseLibFTDI.cmake - DESTINATION lib/cmake/libftdi + + set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/${LIBFTDI_CMAKE_CONFIG_DIR}/UseLibFTDI1.cmake ) + configure_file ( LibFTDI1Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake @ONLY ) + install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake UseLibFTDI1.cmake + DESTINATION ${LIBFTDI_CMAKE_CONFIG_DIR} ) endif ()