Mercurial > irccd
annotate cmake/IrccdPackage.cmake @ 249:c2c40fc0beb1
Irccd: rename some functions
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 17 Aug 2016 23:00:59 +0200 |
parents | 6635b9187d71 |
children | f04acabfbbe5 |
rev | line source |
---|---|
0 | 1 # |
2 # CPackConfing.cmake -- CMake build system for irccd | |
3 # | |
4 # Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> | |
5 # | |
6 # Permission to use, copy, modify, and/or distribute this software for any | |
7 # purpose with or without fee is hereby granted, provided that the above | |
8 # copyright notice and this permission notice appear in all copies. | |
9 # | |
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 # | |
18 | |
19 set(CPACK_SOURCE_PACKAGE_FILE_NAME "irccd-${IRCCD_VERSION}") | |
8
af9b35bf1585
CMake: add ZIP for package_source
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
20 set(CPACK_SOURCE_GENERATOR TXZ ZIP) |
56
aa6117d8d3c5
CMake: add CMakeLists.txt.user to ignored CPack files
David Demelier <markand@malikania.fr>
parents:
50
diff
changeset
|
21 set(CPACK_SOURCE_IGNORE_FILES "/[.]hg" "/CMakeLists[.]txt[.]user") |
0 | 22 |
23 # | |
24 # Define the binary package name. | |
25 # ------------------------------------------------------------------- | |
26 # | |
27 | |
28 if (WIN32) | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
29 set(PKGSYS "Windows") |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
30 set(PKGSUFFIX "exe") |
37
ed35b9ac33bf
Misc: fix installation directory for Windows installer
David Demelier <markand@malikania.fr>
parents:
8
diff
changeset
|
31 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
32 if (IRCCD_64BITS) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
33 set(PKGTARGETDIR "C:/Program Files/irccd-${IRCCD_VERSION}") |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
34 else () |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
35 set(PKGTARGETDIR "C:/Program Files (x86)/irccd-${IRCCD_VERSION}") |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
36 endif () |
0 | 37 endif () |
38 | |
39 if (IRCCD_64BITS) | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
40 set(PKGARCH "amd64") |
0 | 41 else () |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
42 set(PKGARCH "x86") |
0 | 43 endif () |
44 | |
45 # | |
46 # Create the QtIFW hierarchy. | |
47 # ------------------------------------------------------------------- | |
48 # | |
49 | |
50 # Custom package_ifw on Windows | |
51 if (IRCCD_PACKAGE) | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
52 set(CONFDIR ${CMAKE_BINARY_DIR}/installer/config) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
53 set(PKGDIR ${CMAKE_BINARY_DIR}/installer/packages) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
54 set(PKGNAME "irccd-${IRCCD_VERSION}-${PKGSYS}-${PKGARCH}.${PKGSUFFIX}") |
0 | 55 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
56 # Configure some QtIFW files and their meta packages. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
57 file(COPY cmake/installer/LICENSE DESTINATION ${PKGDIR}/base/meta) |
0 | 58 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
59 # QtIFW configuration file |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
60 configure_file(cmake/installer/config/config.xml.in ${CONFDIR}/config.xml) |
0 | 61 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
62 # Meta packages |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
63 configure_file(cmake/installer/packages/meta-programs.xml.in ${PKGDIR}/base/meta/package.xml) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
64 configure_file(cmake/installer/packages/meta-plugins.xml.in ${PKGDIR}/plugins/meta/package.xml) |
0 | 65 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
66 # Irccd, irccdctl and docs |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
67 file( |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
68 MAKE_DIRECTORY |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
69 ${PKGDIR}/base.irccd/data/${WITH_BINDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
70 ${PKGDIR}/base.irccdctl/data/${WITH_BINDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
71 ${PKGDIR}/docs/data/${WITH_DOCDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
72 ) |
0 | 73 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
74 configure_file(cmake/installer/packages/irccd.xml.in ${PKGDIR}/base.irccd/meta/package.xml) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
75 configure_file(cmake/installer/packages/irccd.xml.in ${PKGDIR}/base.irccdctl/meta/package.xml) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
76 configure_file(cmake/installer/packages/docs.xml.in ${PKGDIR}/docs/meta/package.xml) |
0 | 77 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
78 # Main dependencies. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
79 set(dependencies irccd irccdctl all-docs) |
0 | 80 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
81 # Build commands for plugins. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
82 foreach (plugin ${IRCCD_PLUGINS}) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
83 list(APPEND dependencies plugin-${plugin}) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
84 file(MAKE_DIRECTORY ${PKGDIR}/plugins.${plugin}/data/${WITH_PLUGINDIR}) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
85 set(IRCCD_PLUGIN_NAME ${plugin}) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
86 configure_file(cmake/installer/packages/plugin.xml.in ${PKGDIR}/plugins.${plugin}/meta/package.xml) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
87 list( |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
88 APPEND |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
89 PLUGIN_COMMANDS |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
90 COMMAND ${CMAKE_COMMAND} -E copy ${IRCCD_FAKEDIR}/${WITH_PLUGINDIR}/${plugin}.js ${PKGDIR}/plugins.${plugin}/data/${WITH_PLUGINDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
91 ) |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
92 endforeach () |
0 | 93 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
94 # Target for building the package. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
95 add_custom_target( |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
96 package_ifw |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
97 ${PLUGIN_COMMANDS} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
98 COMMAND |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
99 ${CMAKE_COMMAND} -E copy $<TARGET_FILE:irccd> ${PKGDIR}/base.irccd/data/${WITH_BINDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
100 COMMAND |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
101 ${CMAKE_COMMAND} -E copy $<TARGET_FILE:irccdctl> ${PKGDIR}/base.irccdctl/data/${WITH_BINDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
102 COMMAND |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
103 ${CMAKE_COMMAND} -E copy_directory ${IRCCD_FAKEDIR}/${WITH_DOCDIR} ${PKGDIR}/docs/data/${WITH_DOCDIR} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
104 COMMAND |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
105 ${QtIFW_CREATOR} -c ${CONFDIR}/config.xml -p ${PKGDIR} ${CMAKE_BINARY_DIR}/${PKGNAME} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
106 COMMENT "Generating ${CMAKE_BINARY_DIR}/${PKGNAME}" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
107 DEPENDS ${dependencies} |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
108 VERBATIM |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
138
diff
changeset
|
109 ) |
0 | 110 endif () |