File: CMakeLists.txt

package info (click to toggle)
spring 104.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 47,512 kB
  • sloc: cpp: 391,093; ansic: 79,943; python: 12,356; java: 12,201; awk: 5,889; sh: 1,826; xml: 655; makefile: 486; perl: 405; php: 211; objc: 194; sed: 2
file content (51 lines) | stat: -rw-r--r-- 1,480 bytes parent folder | download | duplicates (3)
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
40
41
42
43
44
45
46
47
48
49
50
51
# This file is part of the Spring engine (GPL v2 or later), see LICENSE.html

OPTION(HEADERCHECK "adds the target headercheck which compiles every header file, default disabled because it adds many targets" OFF)
if(HEADERCHECK)
include_directories(
		${Spring_SOURCE_DIR}/rts
		${Spring_SOURCE_DIR}/include
		${Spring_SOURCE_DIR}/rts/lib
		${Spring_SOURCE_DIR}/rts/lib/lua/include
		${SDL2_INCLUDE_DIR}
		${OPENAL_INCLUDE_DIR}
	)

FILE(GLOB_RECURSE headers
		${Spring_SOURCE_DIR}/tools/unitsync/*.h
		${Spring_SOURCE_DIR}/rts/ExternalAI/*.h
		${Spring_SOURCE_DIR}/rts/Game/*.h
		${Spring_SOURCE_DIR}/rts/Rendering/*.h
		${Spring_SOURCE_DIR}/rts/Map/*.h
		${Spring_SOURCE_DIR}/rts/aGui/*.h
		${Spring_SOURCE_DIR}/rts/Lua/*.h
		${Spring_SOURCE_DIR}/rts/Sim/*.h
		${Spring_SOURCE_DIR}/rts/Menu/*.h
		${Spring_SOURCE_DIR}/rts/System/*.h
	)

set(headerchecklibs "")

FOREACH( HEADER ${headers} )

	#pseudo unique name
	string(REPLACE "${Spring_SOURCE_DIR}" "" PLIST "${HEADER}")
	string(REPLACE "/" ";" PLIST "${PLIST}")
	SET(TEST_NAME "headercheck_")

	foreach(name ${PLIST})
		SET(TEST_NAME "${TEST_NAME}_${name}")
	endforeach()

	SET(TEST_FILE ${CMAKE_CURRENT_BINARY_DIR}/src-generated/${TEST_NAME}.cpp)

	# create test file
	configure_file( headercheck.cpp.in ${TEST_FILE} )
	# add library
	add_library( ${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_FILE} )
	list(APPEND headerchecklibs ${TEST_NAME})
ENDFOREACH( HEADER )

add_custom_target(headercheck DEPENDS ${headerchecklibs})

endif()