blob: 5a39077c5b8dfa7775997a76249f559e1b8bc444 [file] [log] [blame]
Austin Schuh9049e202022-02-20 17:34:16 -08001# CMake module to find R
2# - Try to find R. If found, defines:
3#
4# R_FOUND - system has R
5# R_EXEC - the system R command
6# R_ROOT_DIR - the R root directory
7# R_INCLUDE_DIRS - the R include directories
8
9set(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
10set(CMAKE_FIND_APPBUNDLE "NEVER")
11find_program(R_EXEC NAMES R R.exe)
12set(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
13
14#---Find includes and libraries if R exists
15if(R_EXEC)
16
17 set(R_FOUND TRUE)
18
19 if((CMAKE_HOST_SOLARIS) AND (DEFINED ENV{R_HOME}))
20 message(STATUS "Unsetting R_HOME on Solaris.")
21 unset(ENV{R_HOME})
22 endif()
23
24 execute_process(WORKING_DIRECTORY .
25 COMMAND ${R_EXEC} RHOME
26 OUTPUT_VARIABLE R_ROOT_DIR
27 OUTPUT_STRIP_TRAILING_WHITESPACE)
28
29 find_path(R_INCLUDE_DIRS R.h
30 PATHS /usr/local/lib /usr/local/lib64 /usr/share /usr/include ${R_ROOT_DIR} PATH_SUFFIXES include R R/include)
31
32endif()
33
34mark_as_advanced(R_FOUND R_EXEC R_ROOT_DIR R_INCLUDE_DIRS)