Mercurial > code
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 |
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) |