Rename library from libftdi to libftdi1
[libftdi] / src / CMakeLists.txt
... / ...
CommitLineData
1# Includes
2include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}
3 ${CMAKE_CURRENT_SOURCE_DIR}
4 )
5
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
20# Targets
21set(c_sources ftdi.c ftdi_stream.c)
22set(c_headers ftdi.h)
23
24add_library(ftdi1 SHARED ${c_sources})
25
26math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases
27set_target_properties(ftdi1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
28
29# Static library
30add_library(ftdi1-static STATIC ${c_sources})
31set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1")
32
33# Prevent clobbering each other during the build
34set_target_properties(ftdi1 PROPERTIES CLEAN_DIRECT_OUTPUT 1)
35set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
36
37# Dependencies
38target_link_libraries(ftdi1 ${LIBUSB_LIBRARIES})
39
40# Install
41if(${UNIX})
42
43 install( TARGETS ftdi1
44 LIBRARY DESTINATION lib${LIB_SUFFIX}
45 COMPONENT sharedlibs
46 )
47
48 install( TARGETS ftdi1-static
49 ARCHIVE DESTINATION lib${LIB_SUFFIX}
50 COMPONENT staticlibs
51 )
52
53 install( FILES ${c_headers}
54 DESTINATION include/${PROJECT_NAME}
55 COMPONENT headers
56 )
57
58endif(${UNIX})
59
60if(${WIN32})
61
62 install( TARGETS ftdi1
63 DESTINATION bin
64 COMPONENT sharedlibs
65 )
66
67 install( TARGETS ftdi1-static
68 DESTINATION bin
69 COMPONENT staticlibs
70 )
71
72 install( FILES ${c_headers}
73 DESTINATION include/${PROJECT_NAME}
74 COMPONENT headers
75 )
76
77endif(${WIN32})