Mercurial > archived > louis > epitech > zia-api
annotate CMakeLists.txt @ 44:c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
author | Louis Opter <kalessin@kalessin.fr> |
---|---|
date | Mon, 22 Mar 2010 16:50:28 +0100 |
parents | f744b9c6aba2 |
children | ac41a3160348 |
rev | line source |
---|---|
43 | 1 PROJECT(STREAMIT_API CXX) |
3 | 2 |
3 CMAKE_MINIMUM_REQUIRED(VERSION 2.4) | |
4 | |
5 IF (CMAKE_MAJOR_VERSION GREATER 1 AND CMAKE_MINOR_VERSION GREATER 4) | |
6 # CMP0005 is about escaping stuff in ADD_DEFINITIONS() | |
7 # But, I want to be sure that will works on cmake 2.4 | |
8 CMAKE_POLICY(SET CMP0005 OLD) | |
9 CMAKE_POLICY(SET CMP0003 OLD) | |
10 ENDIF (CMAKE_MAJOR_VERSION GREATER 1 AND CMAKE_MINOR_VERSION GREATER 4) | |
11 | |
43 | 12 # Setting vars ################################################################# |
13 | |
14 SET(CPACK_PACKAGE_VERSION_MAJOR "0") | |
15 SET(CPACK_PACKAGE_VERSION_MINOR "0") | |
16 SET(CPACK_PACKAGE_VERSION_PATCH "1") | |
17 SET(STREAMIT_API_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") | |
18 | |
19 MESSAGE(STATUS "Cmake Version : ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}") | |
20 MESSAGE(STATUS "Zia Version : ${STREAMIT_API_VERSION}") | |
21 MESSAGE(STATUS "Build Type : ${CMAKE_BUILD_TYPE}") | |
22 MESSAGE(STATUS "System : ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}") | |
23 MESSAGE(STATUS "Install Prefix : ${CMAKE_INSTALL_PREFIX}") | |
24 MESSAGE(STATUS "Source Directory : ${STREAMIT_API_SOURCE_DIR}") | |
25 | |
3 | 26 # Global definitions ########################################################### |
27 | |
28 IF (CMAKE_COMPILER_IS_GNUCXX) | |
29 SET(CMAKE_CXX_FLAGS "-pipe -Wextra -Wall") | |
30 IF (${CMAKE_BUILD_TYPE} MATCHES "DEBUG") | |
31 ADD_DEFINITIONS("-D_GLIBCXX_DEBUG") | |
32 ENDIF (${CMAKE_BUILD_TYPE} MATCHES "DEBUG") | |
33 ENDIF (CMAKE_COMPILER_IS_GNUCXX) | |
34 | |
35 IF (CMAKE_SYSTEM_NAME MATCHES "Linux") | |
36 ADD_DEFINITIONS("-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500") | |
37 ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux") | |
38 | |
43 | 39 IF (MSVC) |
40 INCLUDE_DIRECTORIES(${STREAMIT_API_SOURCE_DIR}/compat/) | |
41 # Avoid crazy warnings about c standard functions. | |
42 ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS -DWIN32_LEAN_AND_MEAN") | |
43 ENDIF (MSVC) | |
44 | |
45 # Install rules ################################################################ | |
46 | |
47 INSTALL(DIRECTORY examples | |
44
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
48 DESTINATION share/doc/streamit |
43 | 49 COMPONENT Examples |
50 PATTERN "CMakeLists.txt" EXCLUDE | |
44
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
51 PATTERN "CMakeFiles" EXCLUDE |
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
52 PATTERN "cmake_install.cmake" EXCLUDE |
43 | 53 REGEX ".*\\.sw.?$" EXCLUDE |
54 ) | |
55 | |
56 # Uninstall rules ############################################################## | |
57 | |
58 CONFIGURE_FILE("${STREAMIT_API_SOURCE_DIR}/CMakeScripts/cmake_uninstall.cmake.in" | |
59 "${STREAMIT_API_BINARY_DIR}/cmake_uninstall.cmake" | |
60 IMMEDIATE @ONLY | |
61 ) | |
62 | |
63 ADD_CUSTOM_TARGET(uninstall | |
64 "${CMAKE_COMMAND}" -P "${STREAMIT_API_BINARY_DIR}/cmake_uninstall.cmake" | |
65 ) | |
66 | |
3 | 67 # Subdirectories ############################################################### |
68 | |
69 INCLUDE_DIRECTORIES(${STREAMIT_API_SOURCE_DIR}/include) | |
70 | |
71 ADD_SUBDIRECTORY(examples) | |
43 | 72 ADD_SUBDIRECTORY(include) |
73 | |
74 # CPack stuff ################################################################## | |
75 | |
44
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
76 SET(PACKAGE_NAME "StreamIt-${STREAMIT_API_VERSION}") |
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
77 SET(PACKAGE_FILE_NAME ${PACKAGE_NAME}) |
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
78 SET(PACKAGE_SOURCE_FILE_NAME "Sources-${PACKAGE_NAME}") |
43 | 79 SET(CPACK_PACKAGE_EXECUTABLES "rot13" "rot13") # <executable> <icon name> |
80 SET(CPACK_PACKAGE_NAME ${PACKAGE_NAME}) | |
81 SET(CPACK_PACKAGE_FILE_NAME ${PACKAGE_NAME}) | |
82 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackDescription.txt") | |
83 SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_SOURCE_FILE_NAME}) | |
44
c76d8ce500cb
Update Readme, Fix in-place install, Fix source package generation
Louis Opter <kalessin@kalessin.fr>
parents:
43
diff
changeset
|
84 SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.hg/" "/doc/" ".*\\\\.sw.?$" "\\\\.hgignore") |
43 | 85 SET(CPACK_COMPONENTS_ALL Examples Includes) |
86 SET(CPACK_RESOURCE_FILE_LICENSE "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackLicense.txt") | |
87 SET(CPACK_RESOURCE_FILE_README "${CPACK_PACKAGE_DESCRIPTION_FILE}") | |
88 SET(CPACK_RESOURCE_FILE_WELCOME "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackWelcome.txt") | |
89 SET(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "StreamIt API sample code") | |
90 SET(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example code for the StreamIt API. It shows how to use our API.") | |
91 SET(CPACK_COMPONENT_EXAMPLES_REQUIRED FALSE) | |
92 SET(CPACK_COMPONENT_INCLUDES_DISPLAY_NAME "StreamIt Development headers") | |
93 SET(CPACK_COMPONENT_INCLUDES_DESCRIPTION "Headers code of our API. This is mandatory to code with the API.") | |
94 SET(CPACK_COMPONENT_INCLUDES_REQUIRED TRUE) | |
95 | |
96 IF (UNIX) | |
97 SET(CPACK_GENERATOR "TGZ") | |
98 SET(CPACK_SOURCE_GENERATOR "TGZ") | |
99 ENDIF (UNIX) | |
100 | |
101 IF (WIN32) | |
102 SET(CPACK_GENERATOR "NSIS") | |
103 ENDIF (WIN32) | |
104 | |
105 INCLUDE(CPack) |