File: autorevisionForSourcePackage.cmake.in

package info (click to toggle)
warzone2100 4.6.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 660,320 kB
  • sloc: cpp: 676,209; ansic: 391,201; javascript: 78,238; python: 16,632; php: 4,294; sh: 4,094; makefile: 2,629; lisp: 1,492; cs: 489; xml: 404; perl: 224; ruby: 156; java: 89
file content (39 lines) | stat: -rw-r--r-- 2,082 bytes parent folder | download
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
37
38
39
cmake_minimum_required(VERSION 3.16...3.31)

# Runs autorevision to copy autorevision.cache to the source package
# (it should not be copied to binary package).

set(_STANDARD_CPACK_SOURCE_GENERATORS 7Z TGZ TXZ STGZ TBZ2 TZ ZIP CygwinSource)

# To detect if this is a CPack build of the *source* package, check whether $CPACK_GENERATOR
# (which is set to the current CPack generator) is in a standard list of source generators
# or is in the $CPACK_SOURCE_GENERATOR list.
#
if(("${CPACK_GENERATOR}" IN_LIST CPACK_SOURCE_GENERATOR) OR ("${CPACK_GENERATOR}" IN_LIST _STANDARD_CPACK_SOURCE_GENERATORS))

	if(NOT CPACK_SOURCE_INSTALLED_DIRECTORIES)
		execute_process(COMMAND "${CMAKE_COMMAND}" -E echo "Generator is \"${CPACK_GENERATOR}\", but this does not appear to be a source package")
		return()
	endif()

	# When packaging source, generate (and include) build_tools/autorevision.cache

	set(AUTOREVISION_OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/build_tools/autorevision.cache")
	set(CACHEFILE "@PROJECT_SOURCE_DIR@/build_tools/autorevision.cache")

	execute_process(COMMAND ${CMAKE_COMMAND} -DCACHEFILE=${CACHEFILE} -DOUTPUT_TYPE=sh -DOUTPUT_FILE=${AUTOREVISION_OUTPUT_FILE} -DSKIPUPDATECACHE="1" -P "@PROJECT_SOURCE_DIR@/build_tools/autorevision.cmake"
		WORKING_DIRECTORY "@PROJECT_SOURCE_DIR@")

	# Also generate (and include) lib/netplay/netplay_config.gen
	# for external scripts that need to determine the NETCODE_VERSION from the source tarball
	# (without running their own CMake build to generate netplay_config.h)

	set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/lib/netplay/netplay_config.gen")
	set(CACHEFILE "${AUTOREVISION_OUTPUT_FILE}")
	set(_netplay_config_template_file "@PROJECT_SOURCE_DIR@/lib/netplay/netplay_config.h.in")
	set(_project_root "@PROJECT_SOURCE_DIR@")

	execute_process(COMMAND ${CMAKE_COMMAND} -DCACHEFILE=${CACHEFILE} -DPROJECT_ROOT=${_project_root} -DTEMPLATE_FILE=${_netplay_config_template_file} -DOUTPUT_FILE=${OUTPUT_FILE} -P "@PROJECT_SOURCE_DIR@/lib/netplay/autorevision_netplay.cmake"
		WORKING_DIRECTORY "@PROJECT_SOURCE_DIR@")

endif()