X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=ftdipp%2FCMakeLists.txt;h=a9e3418682f39800167dff83b40cd0e20b6e205b;hp=63729de7138f763d9a1e2ed6a9ebf50c0e9fda37;hb=51962d0874d4e731ff6ed93dbe838d4d4fcec55c;hpb=340152b2343e3ee08dc2b98fee5e0e57b8b22afd diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt index 63729de..a9e3418 100644 --- a/ftdipp/CMakeLists.txt +++ b/ftdipp/CMakeLists.txt @@ -1,57 +1,47 @@ -# Check -set(FTDI_BUILD_CPP False PARENT_SCOPE) - -# Includes -include_directories( ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/../src - ) - -# Targets -set(cpp_sources ftdi.cpp) -set(cpp_headers ftdi.hpp) - -# Find Boost -find_package(Boost) -if(Boost_FOUND) -set(FTDI_BUILD_CPP True PARENT_SCOPE) -message(STATUS "Building libftdi++") +# vim: ts=2:sw=2:sts=2 # Targets -add_library(ftdipp SHARED ${cpp_sources}) - -# Dependencies -target_link_libraries(ftdipp ftdi ${LIBUSB_LIBRARIES} ${BOOST_LIBRARIES}) - -# Install -if(${UNIX}) - - install( TARGETS ftdipp - LIBRARY DESTINATION lib - COMPONENT sharedlibs - ) +set(cpp_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.cpp CACHE INTERNAL "List of cpp sources" ) +set(cpp_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.hpp CACHE INTERNAL "List of cpp headers" ) - install( FILES ${cpp_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) - -endif(${UNIX}) +# Includes +include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/src) -if(${WIN32}) +include_directories(${Boost_INCLUDE_DIRS}) - install( TARGETS ftdipp - DESTINATION bin - COMPONENT sharedlibs - ) +# Shared library +add_library(ftdipp1 SHARED ${cpp_sources}) - install( FILES ${cpp_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) +math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases +set_target_properties(ftdipp1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 3) -endif(${WIN32}) +# Prevent clobbering each other during the build +set_target_properties(ftdipp1 PROPERTIES CLEAN_DIRECT_OUTPUT 1) -else(Boost_FOUND) - message(STATUS "Boost not found, won't build libftdi++") -endif(Boost_FOUND) +# Dependencies +target_link_libraries(ftdipp1 ftdi1 ${LIBUSB_LIBRARIES} ${BOOST_LIBRARIES}) + +install ( TARGETS ftdipp1 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + +# Static library +if ( STATICLIBS ) + add_library(ftdipp1-static STATIC ${cpp_sources}) + set_target_properties(ftdipp1-static PROPERTIES OUTPUT_NAME "ftdipp1") + set_target_properties(ftdipp1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + + install ( TARGETS ftdipp1-static + ARCHIVE DESTINATION lib${LIB_SUFFIX} + COMPONENT staticlibs + ) +endif () + +install ( FILES ${cpp_headers} + DESTINATION include/${PROJECT_NAME} + COMPONENT headers + )