File: FindRTfact.cmake

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 239,848 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 93
file content (54 lines) | stat: -rw-r--r-- 2,160 bytes parent folder | download | duplicates (6)
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
52
53
54
## Detect the raytracing library rtfact

INCLUDE(CheckLibraryExists)

## Set some possible paths to use when looking for the RTfact installation
SET(RTFACT_POSSIBLE_ROOT_DIRS
	${RTFACT_ROOT_DIR}
	$ENV{RTFACT_ROOT_DIR}
)

## First, try to find the required header files (RTpie/IRayTracer.hpp)
FIND_PATH(RTFACT_INCLUDE_PATH
	NAMES RTpie/IRayTracer.hpp
	PATHS ${RTFACT_POSSIBLE_ROOT_DIRS}
	PATH_SUFFIXES include
	DOC "RTfact header include dir")

IF (NOT RTFACT_INCLUDE_PATH)
	MESSAGE(STATUS "Could not find RTfact header file (RTpie/IRayTracer.hpp)! Real time ray tracing will be disabled!")
ELSE()
	SET(RTFACT_INCLUDE_DIR ${RTFACT_INCLUDE_PATH} CACHE STRING "Full path to the RTfact headers")

	## Now, try to find the rtfact library itself.
	FIND_LIBRARY(RTFACT_OPT_LIBRARY
		NAMES RTfactRTpie
		PATHS ${RTFACT_POSSIBLE_ROOT_DIRS} ${RTFACT_POSSIBLE_ROOT_DIRS}/build ${RTFACT_POSSIBLE_ROOT_DIRS}/build/lib ${RTFACT_POSSIBLE_ROOT_DIRS}/build/Release ${RTFACT_POSSIBLE_ROOT_DIRS}/build/lib/Release ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build/lib ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build/Release ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build/lib/Release

		PATH_SUFFIXES lib
		DOC "RTfact library, optimized")

	## And a possible debug version
	FIND_LIBRARY(RTFACT_DEBUG_LIBRARY
		NAMES RTfactRemoted RTfactRTpie
		PATHS ${RTFACT_POSSIBLE_ROOT_DIRS} ${RTFACT_POSSIBLE_ROOT_DIRS}/build ${RTFACT_POSSIBLE_ROOT_DIRS}/build/lib ${RTFACT_POSSIBLE_ROOT_DIRS}/build/Debug ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build/Debug ${RTFACT_POSSIBLE_ROOT_DIRS}/remote/build/lib
		PATH_SUFFIXES lib
		DOC "RTfact library, debug")

	IF (RTFACT_OPT_LIBRARY OR RTFACT_DEBUG_LIBRARY)
		BALL_COMBINE_LIBS(RTFACT_LIBRARIES ${RTFACT_OPT_LIBRARY} ${RTFACT_DEBUG_LIBRARY})
		SET(RTFACT_FOUND TRUE)
	ELSE()
		MESSAGE(STATUS "Could not find RTfact libraries!")
		SET(RTFACT_FOUND FALSE)
	ENDIF()

	INCLUDE(FindPackageHandleStandardArgs)
	FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTFACT DEFAULT_MSG
		RTFACT_INCLUDE_DIR
		RTFACT_LIBRARIES)

	MARK_AS_ADVANCED(RTFACT_INCLUDE_DIR)
	MARK_AS_ADVANCED(RTFACT_LIBRARIES)

ENDIF()