Added partial support for FT230X
[libftdi] / src / CMakeLists.txt
CommitLineData
0b2d00fc 1# Includes
a4eac204 2include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}
0b2d00fc
MV
3 ${CMAKE_CURRENT_SOURCE_DIR}
4 )
5
0220adfa
TJ
6# Version information
7set(SNAPSHOT_VERSION "unknown")
8execute_process(COMMAND git describe
9 OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT
10 RESULT_VARIABLE GIT_DESCRIBE_RESULT
11 OUTPUT_STRIP_TRAILING_WHITESPACE
12 )
13if(${GIT_DESCRIBE_RESULT} STREQUAL 0)
14 set(SNAPSHOT_VERSION ${GIT_DESCRIBE_OUTPUT})
15endif(${GIT_DESCRIBE_RESULT} STREQUAL 0)
16message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}")
17
18configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY)
19
0b2d00fc 20# Targets
5f70b4c1
MZ
21set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" )
22set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" )
0b2d00fc 23
42ece760 24add_library(ftdi1 SHARED ${c_sources})
0b2d00fc 25
52448565 26math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases
42ece760 27set_target_properties(ftdi1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
52448565 28
b80aee72 29# Static library
42ece760 30add_library(ftdi1-static STATIC ${c_sources})
6217bc0d
MF
31if (STATICLIBS)
32 set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1")
33endif (STATICLIBS)
b80aee72
TJ
34
35# Prevent clobbering each other during the build
42ece760 36set_target_properties(ftdi1 PROPERTIES CLEAN_DIRECT_OUTPUT 1)
6217bc0d
MF
37if (STATICLIBS)
38 set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
39endif (STATICLIBS)
b80aee72 40
0b2d00fc 41# Dependencies
42ece760 42target_link_libraries(ftdi1 ${LIBUSB_LIBRARIES})
0b2d00fc
MV
43
44# Install
45if(${UNIX})
46
42ece760 47 install( TARGETS ftdi1
20a28968 48 LIBRARY DESTINATION lib${LIB_SUFFIX}
0b2d00fc
MV
49 COMPONENT sharedlibs
50 )
51
6217bc0d
MF
52 if (STATICLIBS)
53 install( TARGETS ftdi1-static
54 ARCHIVE DESTINATION lib${LIB_SUFFIX}
55 COMPONENT staticlibs
56 )
57 endif (STATICLIBS)
b80aee72 58
0b2d00fc
MV
59 install( FILES ${c_headers}
60 DESTINATION include/${PROJECT_NAME}
61 COMPONENT headers
62 )
63
64endif(${UNIX})
65
66if(${WIN32})
67
42ece760 68 install( TARGETS ftdi1
0b2d00fc
MV
69 DESTINATION bin
70 COMPONENT sharedlibs
71 )
72
6217bc0d
MF
73 if (STATICLIBS)
74 install( TARGETS ftdi1-static
75 DESTINATION bin
76 COMPONENT staticlibs
77 )
78 endif (STATICLIBS)
b80aee72 79
0b2d00fc
MV
80 install( FILES ${c_headers}
81 DESTINATION include/${PROJECT_NAME}
82 COMPONENT headers
83 )
84
85endif(${WIN32})