update the project URL everywhere
[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
53 configure_file("${DOXY_DIR}/header.html" "${CMAKE_BINARY_DIR}/header.html" COPYONLY)
54 configure_file("${DOXY_CONFIG}" "${CMAKE_BINARY_DIR}/doxy.config")
55 add_custom_target(doc "${DOXYGEN_EXECUTABLE}" "doxy.config")
56
57endif(DOXYGEN_FOUND)
58
0b2d00fc
MV
59# Package information
60set(CPACK_PACKAGE_VERSION ${VERSION_STRING})
61set(CPACK_PACKAGE_CONTACT "Marek Vavrusa <marek@vavrusa.com>")
2d30c7d4 62set(CPACK_PACKAGE_DESCRIPTION "libftdi library.")
0b2d00fc
MV
63set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION}
64 )
65# Package settings
66if(${UNIX})
67 set(CPACK_GENERATOR "DEB;RPM")
68 set(CPACK_CMAKE_GENERATOR "Unix Makefiles")
69 set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
70 set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
71endif(${UNIX})
72
73if(${WIN32})
74 set(CPACK_GENERATOR "NSIS")
75 set(CPACK_CMAKE_GENERATOR "MinGW Makefiles")
76 set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
77 set(CPACK_PACKAGE_VENDOR "")
78 set(CPACK_PACKAGE_INSTALL_DIRECTORY "libftdi")
79 set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32")
80 set(CPACK_NSIS_DISPLAY_NAME "libftdi")
81 set(CPACK_NSIS_MODIFY_PATH "ON")
82endif(${WIN32})
83
84set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING.LIB)
85
86# Subdirectories
87if(${UNIX})
88 set(CPACK_SET_DESTDIR "ON")
89endif(${UNIX})
90
91add_subdirectory(src)
92add_subdirectory(ftdipp)
93add_subdirectory(examples)
94add_subdirectory(packages)
95
e5c0c219
MV
96# PkgConfig
97set(prefix ${CMAKE_INSTALL_PREFIX})
98set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
99set(includedir ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
100
101if(${UNIX})
102 set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
103endif(${UNIX})
104if(${WIN32})
105 set(libdir ${CMAKE_INSTALL_PREFIX}/bin)
106endif(${WIN32})
107
108configure_file(${CMAKE_SOURCE_DIR}/libftdi.pc.in ${CMAKE_BINARY_DIR}/libftdi.pc @ONLY)
109configure_file(${CMAKE_SOURCE_DIR}/libftdipp.pc.in ${CMAKE_BINARY_DIR}/libftdipp.pc @ONLY)
110
0b2d00fc 111include(CPack)