Added Marius Kintel to AUTHORS file, updated ChangeLog
[libftdi] / CMakeLists.txt
CommitLineData
0b2d00fc
MV
1# Project
2project(libftdi)
3set(MAJOR_VERSION 0)
4set(MINOR_VERSION 15)
5set(PATCH_VERSION 0)
6set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION})
7
8# CMake
9if("${CMAKE_BUILD_TYPE}" STREQUAL "")
10 set(CMAKE_BUILD_TYPE Debug)
11endif("${CMAKE_BUILD_TYPE}" STREQUAL "")
12set(CMAKE_COLOR_MAKEFILE ON)
13cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
14
15# Debug build
16message("-- Build type: ${CMAKE_BUILD_TYPE}")
17if(${CMAKE_BUILD_TYPE} STREQUAL Debug)
18 add_definitions(-DDEBUG)
19endif(${CMAKE_BUILD_TYPE} STREQUAL Debug)
20
21# Set components
22set(CPACK_COMPONENTS_ALL sharedlibs staticlibs headers)
23set(CPACK_COMPONENT_SHAREDLIBS_DISPLAY_NAME "Shared libraries")
24set(CPACK_COMPONENT_STATICLIBS_DISPLAY_NAME "Static libraries")
25set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ Headers")
26
27set(CPACK_COMPONENT_SHAREDLIBS_DESCRIPTION
28"Shared library for general use.")
29set(CPACK_COMPONENT_STATICLIBS_DESCRIPTION
2d30c7d4 30"Static library, good if you want to embed libftdi in your application.")
0b2d00fc
MV
31set(CPACK_COMPONENT_HEADERS_DESCRIPTION
32"C/C++ header files.")
33
34set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development")
35set(CPACK_COMPONENT_STATICLIBS_GROUP "Development")
e5c0c219 36set(CPACK_COMPONENT_HEADERS_GROUP "Development")
0b2d00fc 37
8c365b2c
MV
38# Documentation
39find_package(Doxygen)
40if(DOXYGEN_FOUND)
41
42 # Set variables
43 set(PACKAGE libftdi)
44 set(VERSION ${VERSION_STRING})
45 set(top_srcdir ${CMAKE_SOURCE_DIR})
46
47 # Find doxy config
48 message(STATUS "Doxygen found.")
49 set(DOXY_DIR "${CMAKE_SOURCE_DIR}/doc")
50 set(DOXY_CONFIG "${DOXY_DIR}/Doxyfile.in")
51
52 # Copy doxy.config.in
8c365b2c
MV
53 configure_file("${DOXY_CONFIG}" "${CMAKE_BINARY_DIR}/doxy.config")
54 add_custom_target(doc "${DOXYGEN_EXECUTABLE}" "doxy.config")
55
56endif(DOXYGEN_FOUND)
57
0b2d00fc
MV
58# Package information
59set(CPACK_PACKAGE_VERSION ${VERSION_STRING})
60set(CPACK_PACKAGE_CONTACT "Marek Vavrusa <marek@vavrusa.com>")
2d30c7d4 61set(CPACK_PACKAGE_DESCRIPTION "libftdi library.")
0b2d00fc
MV
62set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION}
63 )
64# Package settings
65if(${UNIX})
66 set(CPACK_GENERATOR "DEB;RPM")
67 set(CPACK_CMAKE_GENERATOR "Unix Makefiles")
68 set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
69 set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
70endif(${UNIX})
71
72if(${WIN32})
73 set(CPACK_GENERATOR "NSIS")
74 set(CPACK_CMAKE_GENERATOR "MinGW Makefiles")
75 set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
76 set(CPACK_PACKAGE_VENDOR "")
77 set(CPACK_PACKAGE_INSTALL_DIRECTORY "libftdi")
78 set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32")
79 set(CPACK_NSIS_DISPLAY_NAME "libftdi")
80 set(CPACK_NSIS_MODIFY_PATH "ON")
81endif(${WIN32})
82
83set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING.LIB)
84
85# Subdirectories
86if(${UNIX})
87 set(CPACK_SET_DESTDIR "ON")
88endif(${UNIX})
89
90add_subdirectory(src)
91add_subdirectory(ftdipp)
92add_subdirectory(examples)
93add_subdirectory(packages)
94
e5c0c219
MV
95# PkgConfig
96set(prefix ${CMAKE_INSTALL_PREFIX})
97set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
98set(includedir ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
99
100if(${UNIX})
101 set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
102endif(${UNIX})
103if(${WIN32})
104 set(libdir ${CMAKE_INSTALL_PREFIX}/bin)
105endif(${WIN32})
106
107configure_file(${CMAKE_SOURCE_DIR}/libftdi.pc.in ${CMAKE_BINARY_DIR}/libftdi.pc @ONLY)
108configure_file(${CMAKE_SOURCE_DIR}/libftdipp.pc.in ${CMAKE_BINARY_DIR}/libftdipp.pc @ONLY)
f60fbc47
MK
109install(FILES ${CMAKE_BINARY_DIR}/libftdi.pc ${CMAKE_BINARY_DIR}/libftdipp.pc
110 DESTINATION lib/pkgconfig)
e5c0c219 111
0b2d00fc 112include(CPack)