X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=CMakeLists.txt;h=ce122ffbdf2b262058483974bfffbf7f8754279b;hp=72e4da80d30faf9fbdb9d74c7b3956399c9c3304;hb=6f3b2133e6de5a38502d93278bacd7a1759f703f;hpb=1719ee931f40f7c211e58da7aa7afca83f8cb047 diff --git a/CMakeLists.txt b/CMakeLists.txt index 72e4da8..ce122ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,11 @@ # Project project(libftdi1) set(MAJOR_VERSION 1) -set(MINOR_VERSION 0) +set(MINOR_VERSION 3) set(PACKAGE libftdi1) set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}) set(VERSION ${VERSION_STRING}) -set ( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) +set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) # CMake if("${CMAKE_BUILD_TYPE}" STREQUAL "") @@ -113,6 +113,8 @@ add_custom_target(dist | bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +# Tests +option ( BUILD_TESTS "Build unit tests with Boost Unit Test framework" ON ) # Documentation option ( DOCUMENTATION "Generate API documentation with Doxygen" ON ) @@ -170,9 +172,11 @@ configure_file(${CMAKE_SOURCE_DIR}/libftdipp1.pc.in ${CMAKE_BINARY_DIR}/libftdip install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) +if (UNIX OR MINGW) configure_file ( libftdi1-config.in ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config @ONLY ) install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config DESTINATION bin ) +endif () # config script install path if ( NOT DEFINED LIBFTDI_CMAKE_CONFIG_DIR ) @@ -181,30 +185,60 @@ 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} ) -if (WIN32) - set (LIBFTDI_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/${_LIBFTDI_LIBRARY_NAME}.a) -endif () +set ( LIBFTDI_LIBRARY ftdi1 ) set ( LIBFTDI_LIBRARIES ${LIBFTDI_LIBRARY} ) list ( APPEND LIBFTDI_LIBRARIES ${LIBUSB_LIBRARIES} ) +set ( LIBFTDI_STATIC_LIBRARY ftdi1.a ) +set ( LIBFTDI_STATIC_LIBRARIES ${LIBFTDI_STATIC_LIBRARY} ) +list ( APPEND LIBFTDI_STATIC_LIBRARIES ${LIBUSB_LIBRARIES} ) if (FTDI_BUILD_CPP) - 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_LIBRARY ftdipp1 ) set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ) list ( APPEND LIBFTDIPP_LIBRARIES ${LIBUSB_LIBRARIES} ) endif () +set ( LIBFTDI_LIBRARY_DIRS ${libdir} ) 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}/${LIBFTDI_CMAKE_CONFIG_DIR}/UseLibFTDI1.cmake ) -configure_file ( cmake/LibFTDI1Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake @ONLY ) -install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake cmake/UseLibFTDI1.cmake + +if(CMAKE_VERSION VERSION_LESS 2.8.8) + configure_file ( cmake/LibFTDI1Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake @ONLY ) + configure_file ( cmake/LibFTDI1ConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1ConfigVersion.cmake @ONLY ) +else () + include(CMakePackageConfigHelpers) + + configure_package_config_file ( + cmake/LibFTDI1Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake + INSTALL_DESTINATION ${LIBFTDI_CMAKE_CONFIG_DIR} + PATH_VARS + LIBFTDI_USE_FILE + LIBFTDI_ROOT_DIR + LIBFTDI_INCLUDE_DIR + LIBFTDI_INCLUDE_DIRS + LIBFTDI_LIBRARY_DIRS + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file ( + LibFTDI1ConfigVersion.cmake + VERSION ${LIBFTDI_VERSION_STRING} + COMPATIBILITY AnyNewerVersion + ) +endif () + + +install ( FILES + ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1ConfigVersion.cmake + cmake/UseLibFTDI1.cmake + DESTINATION ${LIBFTDI_CMAKE_CONFIG_DIR} ) + + + include(CPack)