File: FindSevenZip.cmake

package info (click to toggle)
spring 105.0.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 108,860 kB
  • sloc: cpp: 467,785; ansic: 302,607; python: 12,925; java: 12,201; awk: 5,889; sh: 2,371; xml: 655; perl: 405; php: 276; objc: 194; makefile: 75; sed: 2
file content (36 lines) | stat: -rw-r--r-- 1,157 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# This file is part of the Spring engine (GPL v2 or later), see LICENSE.html

# - Find 7zip
# Find the native 7zip binary
#
# NOTE: We can not use 7ZIP* or 7zip* as var name, cause in CMake,
#       var names should not start with numbers.
#
#  SEVENZIP_BIN   - will be set to the 7zip executable (eg. 7z.exe)
#  SEVENZIP_FOUND - TRUE if 7zip was found

INCLUDE(FindPackageHandleStandardArgs)

IF    (SEVENZIP_BIN)
	# Already in cache, be silent
	SET(SevenZip_FIND_QUIETLY TRUE)
ENDIF (SEVENZIP_BIN)

# 7zr(.exe) only supports 7z archives, while 7z(.exe) and 7za(.exe)
# additionally support many other formats (eg zip)

# cmake 3 doesn't allow () in var names, workarround it:
set(progfilesx86 "ProgramFiles(x86)")

find_program(SEVENZIP_BIN
	NAMES 7z 7za
	HINTS "${MINGWDIR}" "${MINGWLIBS}/bin" "$ENV{${progfilesx86}}/7-zip" "$ENV{ProgramFiles}/7-zip" "$ENV{ProgramW6432}/7-zip"
	PATH_SUFFIXES bin
	DOC "7zip executable"
	)
unset(progfilesx86)
# handle the QUIETLY and REQUIRED arguments and set SEVENZIP_FOUND to TRUE if
# all listed variables are TRUE
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SevenZip DEFAULT_MSG SEVENZIP_BIN)

MARK_AS_ADVANCED(SEVENZIP_BIN)