annotate cmake/FindQtIFW.cmake @ 624:01e01777ff50

CMake: initial import of CMake modules, closes #720
author David Demelier <markand@malikania.fr>
date Fri, 20 Oct 2017 14:18:37 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
624
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 # FindQtIFW
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # ---------
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Find Qt Installer Framework, this module defines:
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # QtIFW_CREATOR, where to find binarycreator.exe
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # QtIFW_ARCHIVEGEN, where to find archivegen.exe
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # QtIFW_FOUND, if the InnoSetup installation was found
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # This module also defines the following macros:
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # qtifw_create(
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # OUTPUT installerfile
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # CONFIG configuration file
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # PACKAGES packages directory
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # [TARGET name]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 # [SOURCES sources ...]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 # [DEPENDS dependencies ...]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 # [RESOURCES resources ...]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # [ONLINE|OFFLINE]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 # [ARGS args ...]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 # )
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 # This function adds a new custom command that generate the installer file specified by OUTPUT.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 # The CONFIG and PACKAGES parameters are equivalent to -c and -p options respectively.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 # You can add optional dependencies to the custom command with the DEPENDS parameter.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 # If TARGET is specified, an additional target is created with the supplied name, the output file will be added as
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 # target dependency and optional sources files can be listed in the SOURCES parameter.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 # You can specify .qrc files to be bundled with the RESOURCES parameter.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 # The ONLINE and OFFLINE parameters are equivalent to -n and -f options respectively. They are mutually exclusive.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 # If you need to pass additional arguments to binarycreator, you can use the ARGS parameter.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 # qtifw_archive(
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 # OUTPUT archive.7z
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 # SOURCES sources ...
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 # [TARGET name]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 # [DEPENDS dependencies ...]
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 # )
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 # This function adds a new custom command that generate .7z files using QtIFW's archivegen tool.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 # The output file must be specified by OUTPUT, sources can be either files or directories specified by SOURCES.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 # If TARGET is specified, an additional target is created with the supplied name, the output file will be added as
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 # target dependency and source files will also be listed.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 # You can add optional dependencies to the custom command with the DEPENDS parameter.
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 #
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 find_program(
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 QtIFW_CREATOR
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 NAMES binarycreator
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 DOC "QtIFW binarycreator executable"
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 )
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 find_program(
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 QtIFW_ARCHIVEGEN
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 NAMES archivegen
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 DOC "QtIFW archivegen executable"
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 )
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 include(CMakeParseArguments)
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 include(FindPackageHandleStandardArgs)
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 find_package_handle_standard_args(
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 QtIFW
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 FOUND_VAR QtIFW_FOUND
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 REQUIRED_VARS QtIFW_CREATOR QtIFW_ARCHIVEGEN
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 )
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 if (QtIFW_FOUND)
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 function (qtifw_create)
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 endfunction ()
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 endif ()
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
01e01777ff50 CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 mark_as_advanced(QtIFW_CREATOR)