X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=9fd86a6d6b13583e4328df137a5e4c72e938290f;hp=a4da870b4ef4da3db3c62959f7fc717acab889b4;hb=f838a4e3b0466abc34823750e9eef24d785c8232;hpb=40da63b1f8924d2c4d1e34d137dc7d12b5b1c643 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a4da870..9fd86a6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,63 +1,55 @@ # Includes -include_directories( ${CMAKE_CURRENT_BINARY_DIR} +include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) -# Targets -set(c_sources ftdi.c ftdi_stream.c) -set(c_headers ftdi.h) +# 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 () +message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}") -add_library(ftdi SHARED ${c_sources}) +configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY) -math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases -set_target_properties(ftdi PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 1) +# Targets +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" ) -# Static library -add_library(ftdi-static STATIC ${c_sources}) -set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi") +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) # Prevent clobbering each other during the build -set_target_properties(ftdi PROPERTIES CLEAN_DIRECT_OUTPUT 1) -set_target_properties(ftdi-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) +set_target_properties ( ftdi1 PROPERTIES CLEAN_DIRECT_OUTPUT 1 ) -# Dependencies -target_link_libraries(ftdi ${LIBUSB_LIBRARIES}) - -# Install -if(${UNIX}) - install( TARGETS ftdi - LIBRARY DESTINATION lib${LIB_SUFFIX} - COMPONENT sharedlibs - ) - - install( TARGETS ftdi-static +# Dependencies +target_link_libraries(ftdi1 ${LIBUSB_LIBRARIES}) + +install ( TARGETS ftdi1 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + +if ( STATICLIBS ) + add_library(ftdi1-static STATIC ${c_sources}) + target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES}) + set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1") + set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + install ( TARGETS ftdi1-static ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT staticlibs - ) - - install( FILES ${c_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) - -endif(${UNIX}) - -if(${WIN32}) - - install( TARGETS ftdi - DESTINATION bin - COMPONENT sharedlibs - ) - - install( TARGETS ftdi-static - DESTINATION bin - COMPONENT staticlibs - ) - - install( FILES ${c_headers} - DESTINATION include/${PROJECT_NAME} - COMPONENT headers - ) + ) +endif () -endif(${WIN32}) +install ( FILES ${c_headers} + DESTINATION include/${PROJECT_NAME} + COMPONENT headers + )