|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:22:39
|
Module: performous
Branch: dance
Commit: 5680d527e223e072cd9f0407fa21eb770fdad187
Author: Markus Raab <un...@ma...>
Date: Thu Nov 26 10:28:52 2009 +0100
libda packaging
---
libs/libda/CMakeLists.txt | 2 +
libs/libda/cmake/LibDAConfig.cmake.in | 2 +-
libs/libda/cmake/LibDAConfigVersion.cmake.in | 10 ++--
libs/libda/cmake/libda-packaging.cmake | 61 ++++++++++++++++++++++++++
libs/plugin++/cmake/plugin++-packaging.cmake | 2 +-
5 files changed, 70 insertions(+), 7 deletions(-)
diff --git a/libs/libda/CMakeLists.txt b/libs/libda/CMakeLists.txt
index c856b95..8404f91 100644
--- a/libs/libda/CMakeLists.txt
+++ b/libs/libda/CMakeLists.txt
@@ -11,6 +11,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not permitted. Make a separate folder for building:\nmkdir build; cd build; cmake ..\nBefore that, remove the files already created:\nrm -rf CMakeCache.txt CMakeFiles")
endif()
+include("${CMAKE_SOURCE_DIR}/cmake/libda-packaging.cmake")
+
# Add a sensible build type default and warning because empty means no optimization and no debug info.
if(NOT CMAKE_BUILD_TYPE)
message("WARNING: CMAKE_BUILD_TYPE is not defined!\n Defaulting to CMAKE_BUILD_TYPE=Release. Use ccmake to set a proper value.")
diff --git a/libs/libda/cmake/LibDAConfig.cmake.in b/libs/libda/cmake/LibDAConfig.cmake.in
index 29973af..17a77e4 100644
--- a/libs/libda/cmake/LibDAConfig.cmake.in
+++ b/libs/libda/cmake/LibDAConfig.cmake.in
@@ -6,5 +6,5 @@ if(NOT LibDA_FOUND)
include("@CMAKE_INSTALL_PREFIX@/@LibDA_CMAKE_DIR@/LibDA.cmake")
set(LibDA_LIBRARIES da)
-endif()
+endif(NOT LibDA_FOUND)
diff --git a/libs/libda/cmake/LibDAConfigVersion.cmake.in b/libs/libda/cmake/LibDAConfigVersion.cmake.in
index 2f5b3dd..12739be 100644
--- a/libs/libda/cmake/LibDAConfigVersion.cmake.in
+++ b/libs/libda/cmake/LibDAConfigVersion.cmake.in
@@ -1,13 +1,13 @@
-if ("${PACKAGE_VERSION}" VERSION_EQUAL "@LibDA_VERSION@")
+if ("${PACKAGE_VERSION}" EQUAL "@LibDA_VERSION@")
set(PACKAGE_VERSION_EXACT TRUE)
-else()
+else("${PACKAGE_VERSION}" EQUAL "@LibDA_VERSION@")
set(PACKAGE_VERSION_EXACT FALSE)
-endif()
+endif("${PACKAGE_VERSION}" EQUAL "@LibDA_VERSION@")
-if (PACKAGE_VERSION_EXACT OR "${PACKAGE_VERSION}" VERSION_LESS "@LibDA_VERSION@")
+if (PACKAGE_VERSION_EXACT OR "${PACKAGE_VERSION}" LESS "@LibDA_VERSION@")
set(PACKAGE_VERSION "@LibDA_VERSION@")
set(PACKAGE_VERSION_COMPATIBLE TRUE)
set(PACKAGE_VERSION_UNSUITABLE FALSE)
set(PACKAGE_VERSION_EXACT FALSE)
-endif()
+endif(PACKAGE_VERSION_EXACT OR "${PACKAGE_VERSION}" LESS "@LibDA_VERSION@")
diff --git a/libs/libda/cmake/libda-packaging.cmake b/libs/libda/cmake/libda-packaging.cmake
new file mode 100644
index 0000000..e107fad
--- /dev/null
+++ b/libs/libda/cmake/libda-packaging.cmake
@@ -0,0 +1,61 @@
+set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
+set(CPACK_PACKAGE_VERSION "${LibDA_VERSION}")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "C++ digital audio I/O and processing library.")
+set(CPACK_PACKAGE_CONTACT "http://performous.org/")
+set(CPACK_SOURCE_IGNORE_FILES
+ "/.cvsignore"
+ "/.gitignore"
+ "/songs/"
+ "/build/"
+ "/.svn/"
+ "/.git/"
+ "/osx-utils/"
+ "/portage-overlay/"
+)
+
+
+if("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+ set(CPACK_STRIP_FILES TRUE)
+endif("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+
+
+if(UNIX)
+ # Try to find architecture
+ execute_process(COMMAND uname -m OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE)
+ string(STRIP "${CPACK_PACKAGE_ARCHITECTURE}" CPACK_PACKAGE_ARCHITECTURE)
+ # Try to find distro name and distro-specific arch
+ execute_process(COMMAND lsb_release -is OUTPUT_VARIABLE LSB_ID)
+ execute_process(COMMAND lsb_release -rs OUTPUT_VARIABLE LSB_RELEASE)
+ string(STRIP "${LSB_ID}" LSB_ID)
+ string(STRIP "${LSB_RELEASE}" LSB_RELEASE)
+ set(LSB_DISTRIB "${LSB_ID}${LSB_RELEASE}")
+ if(NOT LSB_DISTRIB)
+ set(LSB_DISTRIB "unix")
+ endif(NOT LSB_DISTRIB)
+ # For Debian-based distros we want to create DEB packages.
+ if("${LSB_DISTRIB}" MATCHES "Ubuntu|Debian")
+ set(CPACK_GENERATOR "DEB")
+ set(CPACK_DEBIAN_PACKAGE_PRIORITY "extra")
+ set(CPACK_DEBIAN_PACKAGE_SECTION "universe/games")
+ set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "ultrastar-songs, ultrastar-songs-restricted, msttcorefonts")
+ # We need to alter the architecture names as per distro rules
+ if("${CPACK_PACKAGE_ARCHITECTURE}" MATCHES "i[3-6]86")
+ set(CPACK_PACKAGE_ARCHITECTURE i386)
+ endif("${CPACK_PACKAGE_ARCHITECTURE}" MATCHES "i[3-6]86")
+ if("${CPACK_PACKAGE_ARCHITECTURE}" MATCHES "x86_64")
+ set(CPACK_PACKAGE_ARCHITECTURE amd64)
+ endif("${CPACK_PACKAGE_ARCHITECTURE}" MATCHES "x86_64")
+ # Set the dependencies based on the distro version
+ if("${LSB_DISTRIB}" MATCHES "Debian5.*")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-dev, libasound2, libjack0")
+ endif("${LSB_DISTRIB}" MATCHES "Debian5.*")
+ if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
+ message("WARNING: ${LSB_DISTRIB} not supported yet.\nPlease set deps in cmake/performous-packaging.cmake before packaging.")
+ endif(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
+ endif("${LSB_DISTRIB}" MATCHES "Ubuntu|Debian")
+ set(CPACK_SYSTEM_NAME "${LSB_DISTRIB}-${CPACK_PACKAGE_ARCHITECTURE}")
+ message(STATUS "Detected ${CPACK_SYSTEM_NAME}. Use make package to build packages (${CPACK_GENERATOR}).")
+endif(UNIX)
+
+include(CPack)
+
diff --git a/libs/plugin++/cmake/plugin++-packaging.cmake b/libs/plugin++/cmake/plugin++-packaging.cmake
index c0c192a..68e8862 100644
--- a/libs/plugin++/cmake/plugin++-packaging.cmake
+++ b/libs/plugin++/cmake/plugin++-packaging.cmake
@@ -1,6 +1,6 @@
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_VERSION "${Plugin++_VERSION}")
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY " Plugin++ is a cross platform plug-in framework for C++ that uses XML to marshal data across the application and the shared library space.")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Plugin++ is a cross platform plug-in framework for C++ that uses XML to marshal data across the application and the shared library space.")
set(CPACK_PACKAGE_CONTACT "http://sourceforge.net/projects/pluginpp/")
set(CPACK_SOURCE_IGNORE_FILES
"/.cvsignore"
|