Added partial support for FT230X
[libftdi] / src / CMakeLists.txt
index 0816341..d67caba 100644 (file)
@@ -3,38 +3,58 @@ 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 ftdi_stream.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(ftdi SHARED ${c_sources})
+add_library(ftdi1 SHARED ${c_sources})
 
 math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1")    # Compatiblity with previous releases
-set_target_properties(ftdi PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 1)
+set_target_properties(ftdi1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
 
 # Static library
-add_library(ftdi-static STATIC ${c_sources})
-set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi")
+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(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)
+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
+   install( TARGETS ftdi1
             LIBRARY DESTINATION lib${LIB_SUFFIX}
             COMPONENT sharedlibs
             )
 
-   install( TARGETS ftdi-static
-            ARCHIVE DESTINATION lib${LIB_SUFFIX}
-            COMPONENT staticlibs
-            )
+   if (STATICLIBS)
+       install( TARGETS ftdi1-static
+                ARCHIVE DESTINATION lib${LIB_SUFFIX}
+                COMPONENT staticlibs
+                )
+   endif (STATICLIBS)
 
    install( FILES ${c_headers}
             DESTINATION include/${PROJECT_NAME}
@@ -45,15 +65,17 @@ endif(${UNIX})
 
 if(${WIN32})
 
-   install( TARGETS ftdi
+   install( TARGETS ftdi1
             DESTINATION bin
             COMPONENT sharedlibs
             )
 
-   install( TARGETS ftdi-static
-            DESTINATION bin
-            COMPONENT staticlibs
-            )
+   if (STATICLIBS)
+       install( TARGETS ftdi1-static
+                DESTINATION bin
+                COMPONENT staticlibs
+                )
+   endif (STATICLIBS)
 
    install( FILES ${c_headers}
             DESTINATION include/${PROJECT_NAME}