# HG changeset patch # User David Pineau # Date 1269275966 -3600 # Node ID 4ddbd44f8ac53d5a3aa455fa259f8c673d10645f # Parent dad671a5f02836b8af724b93ad1758f9af2c5854# Parent ac41a31603488c0e442ef23b44a87033b1159352 Merge diff -r dad671a5f028 -r 4ddbd44f8ac5 CMakeLists.txt --- a/CMakeLists.txt Mon Mar 22 17:39:10 2010 +0100 +++ b/CMakeLists.txt Mon Mar 22 17:39:26 2010 +0100 @@ -1,4 +1,4 @@ -PROJECT(STREAMIT_API CXX C) +PROJECT(STREAMIT_API CXX) CMAKE_MINIMUM_REQUIRED(VERSION 2.4) @@ -9,6 +9,20 @@ CMAKE_POLICY(SET CMP0003 OLD) ENDIF (CMAKE_MAJOR_VERSION GREATER 1 AND CMAKE_MINOR_VERSION GREATER 4) +# Setting vars ################################################################# + +SET(CPACK_PACKAGE_VERSION_MAJOR "0") +SET(CPACK_PACKAGE_VERSION_MINOR "0") +SET(CPACK_PACKAGE_VERSION_PATCH "1") +SET(STREAMIT_API_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +MESSAGE(STATUS "Cmake Version : ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}") +MESSAGE(STATUS "Zia Version : ${STREAMIT_API_VERSION}") +MESSAGE(STATUS "Build Type : ${CMAKE_BUILD_TYPE}") +MESSAGE(STATUS "System : ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}") +MESSAGE(STATUS "Install Prefix : ${CMAKE_INSTALL_PREFIX}") +MESSAGE(STATUS "Source Directory : ${STREAMIT_API_SOURCE_DIR}") + # Global definitions ########################################################### IF (CMAKE_COMPILER_IS_GNUCXX) @@ -22,8 +36,69 @@ ADD_DEFINITIONS("-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500") ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux") +IF (MSVC) + INCLUDE_DIRECTORIES(${STREAMIT_API_SOURCE_DIR}/compat/) + # Avoid crazy warnings about c standard functions. + ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS -DWIN32_LEAN_AND_MEAN") +ENDIF (MSVC) + +# Install rules ################################################################ + +INSTALL(DIRECTORY examples + DESTINATION share/doc/streamit + COMPONENT Examples + PATTERN "CMakeLists.txt" EXCLUDE + PATTERN "CMakeFiles" EXCLUDE + PATTERN "cmake_install.cmake" EXCLUDE + REGEX ".*\\.sw.?$" EXCLUDE + ) + +# Uninstall rules ############################################################## + +CONFIGURE_FILE("${STREAMIT_API_SOURCE_DIR}/CMakeScripts/cmake_uninstall.cmake.in" + "${STREAMIT_API_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY + ) + +ADD_CUSTOM_TARGET(uninstall + "${CMAKE_COMMAND}" -P "${STREAMIT_API_BINARY_DIR}/cmake_uninstall.cmake" + ) + # Subdirectories ############################################################### INCLUDE_DIRECTORIES(${STREAMIT_API_SOURCE_DIR}/include) ADD_SUBDIRECTORY(examples) +ADD_SUBDIRECTORY(include) + +# CPack stuff ################################################################## + +SET(PACKAGE_NAME "StreamIt") +SET(PACKAGE_FILE_NAME "${PACKAGE_NAME}-${STREAMIT_API_VERSION}") +SET(PACKAGE_SOURCE_FILE_NAME "Sources-${PACKAGE_NAME}-${STREAMIT_API_VERSION}") +SET(CPACK_PACKAGE_EXECUTABLES "rot13" "rot13") # +SET(CPACK_PACKAGE_NAME ${PACKAGE_NAME}) +SET(CPACK_PACKAGE_FILE_NAME ${PACKAGE_NAME}) +SET(CPACK_PACKAGE_DESCRIPTION_FILE "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackDescription.txt") +SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_SOURCE_FILE_NAME}) +SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.hg/" "/doc/" ".*\\\\.sw.?$" "\\\\.hgignore") +SET(CPACK_COMPONENTS_ALL Examples Includes) +SET(CPACK_RESOURCE_FILE_LICENSE "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackLicense.txt") +SET(CPACK_RESOURCE_FILE_README "${CPACK_PACKAGE_DESCRIPTION_FILE}") +SET(CPACK_RESOURCE_FILE_WELCOME "${STREAMIT_API_SOURCE_DIR}/CMakeScripts/CPackWelcome.txt") +SET(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "StreamIt API sample code") +SET(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example code for the StreamIt API. It shows how to use our API.") +SET(CPACK_COMPONENT_INCLUDES_DISPLAY_NAME "StreamIt Development headers") +SET(CPACK_COMPONENT_INCLUDES_DESCRIPTION "Headers code of our API. This is mandatory to code with the API.") +SET(CPACK_COMPONENT_INCLUDES_REQUIRED TRUE) + +IF (UNIX) + SET(CPACK_GENERATOR "TGZ") + SET(CPACK_SOURCE_GENERATOR "TGZ") +ENDIF (UNIX) + +IF (WIN32) + SET(CPACK_GENERATOR "NSIS") +ENDIF (WIN32) + +INCLUDE(CPack) diff -r dad671a5f028 -r 4ddbd44f8ac5 CMakeScripts/CPackDescription.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CMakeScripts/CPackDescription.txt Mon Mar 22 17:39:26 2010 +0100 @@ -0,0 +1,5 @@ +The Zia StreamIt modules API from http://www.ziastream.it/. + +You can also contact us at team@ziastream.it. + +Follow us on twitter to get updates notifications ! diff -r dad671a5f028 -r 4ddbd44f8ac5 CMakeScripts/CPackLicense.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CMakeScripts/CPackLicense.txt Mon Mar 22 17:39:26 2010 +0100 @@ -0,0 +1,11 @@ +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff -r dad671a5f028 -r 4ddbd44f8ac5 CMakeScripts/CPackWelcome.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CMakeScripts/CPackWelcome.txt Mon Mar 22 17:39:26 2010 +0100 @@ -0,0 +1,1 @@ +Welcome on the StreamIt Zia API installer. diff -r dad671a5f028 -r 4ddbd44f8ac5 CMakeScripts/cmake_uninstall.cmake.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CMakeScripts/cmake_uninstall.cmake.in Mon Mar 22 17:39:26 2010 +0100 @@ -0,0 +1,20 @@ +IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") +ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + +FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) +STRING(REGEX REPLACE "\n" ";" files "${files}") +FOREACH(file ${files}) + MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") + IF(EXISTS "$ENV{DESTDIR}${file}") + EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + IF(NOT "${rm_retval}" STREQUAL 0) + MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") + ENDIF(NOT "${rm_retval}" STREQUAL 0) + ELSE(EXISTS "$ENV{DESTDIR}${file}") + MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") + ENDIF(EXISTS "$ENV{DESTDIR}${file}") +ENDFOREACH(file) diff -r dad671a5f028 -r 4ddbd44f8ac5 README --- a/README Mon Mar 22 17:39:10 2010 +0100 +++ b/README Mon Mar 22 17:39:26 2010 +0100 @@ -27,10 +27,10 @@ Install the api headers on your system: --------------------------------------- -This is optional, but if you don't want to bother with include paths and -environment variables this is for you. +This is optional. -Windows: Use the installer. +Windows: Use the installer, then adjust your environ to add a variable which +point to the include dir and use this variable in VS. If you are not on Windows do as in "Build examples" but after make do: @@ -39,8 +39,14 @@ Uninstall the api headers from your system: ------------------------------------------- -Windows: Use the control panel. +Windows: Use the uninstaller. If you are not on Windows do as in "Build examples" but after make do: make uninstall + +FAQ: +---- + +How do I change the install prefix ? +-> Reconfigure the project with cmake -DCMAKE_INSTALL_PREFIX=/install/prefix/ . diff -r dad671a5f028 -r 4ddbd44f8ac5 examples/rot13/CMakeLists.txt --- a/examples/rot13/CMakeLists.txt Mon Mar 22 17:39:10 2010 +0100 +++ b/examples/rot13/CMakeLists.txt Mon Mar 22 17:39:26 2010 +0100 @@ -2,6 +2,14 @@ main.cpp Rot13Module.cpp Rot13Handler.cpp + # Add headers so they appear into VS + Rot13Handler.hpp + Rot13Module.hpp ) ADD_EXECUTABLE(rot13 ${ROT13_SRC}) + +INSTALL(TARGETS rot13 RUNTIME + DESTINATION bin + COMPONENT Examples + ) diff -r dad671a5f028 -r 4ddbd44f8ac5 include/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/CMakeLists.txt Mon Mar 22 17:39:26 2010 +0100 @@ -0,0 +1,22 @@ +SET(SUBDIRECTORIES + handler + http + network + ) + +INSTALL(DIRECTORY ${SUBDIRECTORIES} + DESTINATION include/streamit + COMPONENT Includes + PATTERN "CMakeLists.txt" EXCLUDE + REGEX ".*\\.sw.?$" EXCLUDE + ) + +SET(HEADERS + IConfig.hpp + IModule.hpp + ) + +INSTALL(FILES ${HEADERS} + DESTINATION include/streamit + COMPONENT Includes + )