X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=d67cabadac98e42c0ce8f8b42704c974a0de1616;hp=796599958ca0ed68db81e2f21876ec7ea7eb1a3a;hb=2f80efc24176c903d82cea1f084453fd3df9b992;hpb=89a3169e7d78b6aff609aa88760af2fd5c61cf7c diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7965999..d67caba 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,25 +1,61 @@ # Includes -include_directories( ${CMAKE_CURRENT_BINARY_DIR} +include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) +# Version information +set(SNAPSHOT_VERSION "unknown") +execute_process(COMMAND git describe + OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT + RESULT_VARIABLE GIT_DESCRIBE_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +if(${GIT_DESCRIBE_RESULT} STREQUAL 0) + set(SNAPSHOT_VERSION ${GIT_DESCRIBE_OUTPUT}) +endif(${GIT_DESCRIBE_RESULT} STREQUAL 0) +message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}") + +configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY) + # Targets -set(c_sources ftdi.c) -set(c_headers ftdi.h) +set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) +set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) + +add_library(ftdi1 SHARED ${c_sources}) + +math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases +set_target_properties(ftdi1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2) -add_library(ftdi SHARED ${c_sources}) +# Static library +add_library(ftdi1-static STATIC ${c_sources}) +if (STATICLIBS) + set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1") +endif (STATICLIBS) + +# Prevent clobbering each other during the build +set_target_properties(ftdi1 PROPERTIES CLEAN_DIRECT_OUTPUT 1) +if (STATICLIBS) + set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) +endif (STATICLIBS) # Dependencies -target_link_libraries(ftdi ${LIBUSB_LIBRARIES}) +target_link_libraries(ftdi1 ${LIBUSB_LIBRARIES}) # Install if(${UNIX}) - install( TARGETS ftdi - LIBRARY DESTINATION lib + install( TARGETS ftdi1 + LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT sharedlibs ) + if (STATICLIBS) + install( TARGETS ftdi1-static + ARCHIVE DESTINATION lib${LIB_SUFFIX} + COMPONENT staticlibs + ) + endif (STATICLIBS) + install( FILES ${c_headers} DESTINATION include/${PROJECT_NAME} COMPONENT headers @@ -29,11 +65,18 @@ endif(${UNIX}) if(${WIN32}) - install( TARGETS ftdi + install( TARGETS ftdi1 DESTINATION bin COMPONENT sharedlibs ) + if (STATICLIBS) + install( TARGETS ftdi1-static + DESTINATION bin + COMPONENT staticlibs + ) + endif (STATICLIBS) + install( FILES ${c_headers} DESTINATION include/${PROJECT_NAME} COMPONENT headers