X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=ftdipp%2FCMakeLists.txt;h=27fbe8da6b9f48f74e8baf7516dcc998f0d5cf85;hp=23000c97b6cdaf9f627a15abd0fea9b8276adf01;hb=3b7ea7ef0840b633a7f79fbb730ed353a6168448;hpb=c9a460e336631ed3d21e6f870d4137d5e98c30a7 diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt index 23000c9..27fbe8d 100644 --- a/ftdipp/CMakeLists.txt +++ b/ftdipp/CMakeLists.txt @@ -1,80 +1,68 @@ # Check set(FTDI_BUILD_CPP False PARENT_SCOPE) -option(FTDIPP "Build C++ binding library libftdi++" ON) +option ( FTDIPP "Build C++ binding library libftdi1++" ON ) +# Targets +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" ) + if (FTDIPP) - if(Boost_FOUND) - - # Includes - include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src) - - include_directories(${Boost_INCLUDE_DIRS}) - - # Targets - set(cpp_sources ftdi.cpp) - set(cpp_headers ftdi.hpp) - - set(FTDI_BUILD_CPP True PARENT_SCOPE) - message(STATUS "Building libftdi++") - - # Shared library - add_library(ftdipp SHARED ${cpp_sources}) - - math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases - set_target_properties(ftdipp PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2) - - # Static library - add_library(ftdipp-static STATIC ${cpp_sources}) - set_target_properties(ftdipp-static PROPERTIES OUTPUT_NAME "ftdipp") - - # Prevent clobbering each other during the build - set_target_properties(ftdipp PROPERTIES CLEAN_DIRECT_OUTPUT 1) - set_target_properties(ftdipp-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) - - # Dependencies - target_link_libraries(ftdipp ftdi ${LIBUSB_LIBRARIES} ${BOOST_LIBRARIES}) - - # Install - if(${UNIX}) - install( TARGETS ftdipp - LIBRARY DESTINATION lib${LIB_SUFFIX} - COMPONENT sharedlibs - ) - install( TARGETS ftdipp-static - ARCHIVE DESTINATION lib${LIB_SUFFIX} - COMPONENT staticlibs - ) - install( FILES ${cpp_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) - endif(${UNIX}) - - if(${WIN32}) - install( TARGETS ftdipp - DESTINATION bin - COMPONENT sharedlibs - ) - install( TARGETS ftdipp-static - DESTINATION bin - COMPONENT staticlibs - ) - install( FILES ${cpp_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) - endif(${WIN32}) - - else(Boost_FOUND) - message(STATUS "Boost not found, won't build libftdi++") - endif(Boost_FOUND) - -else(FTDIPP) - - message(STATUS "Not building libftdi++") - -endif(FTDIPP) + if(Boost_FOUND) + + # Includes + include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/src) + + include_directories(${Boost_INCLUDE_DIRS}) + + + + set(FTDI_BUILD_CPP True PARENT_SCOPE) + message(STATUS "Building libftdi1++") + + # Shared library + add_library(ftdipp1 SHARED ${cpp_sources}) + + math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases + set_target_properties(ftdipp1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 3) + + # Prevent clobbering each other during the build + set_target_properties(ftdipp1 PROPERTIES CLEAN_DIRECT_OUTPUT 1) + + # 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 + ) + + else () + message(STATUS "Boost not found, won't build libftdi1++") + endif () + +else () + message(STATUS "Not building libftdi1++") +endif ()