Austin Schuh | 9049e20 | 2022-02-20 17:34:16 -0800 | [diff] [blame] | 1 | # 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 | |
| 9 | set(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE}) |
| 10 | set(CMAKE_FIND_APPBUNDLE "NEVER") |
| 11 | find_program(R_EXEC NAMES R R.exe) |
| 12 | set(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE}) |
| 13 | |
| 14 | #---Find includes and libraries if R exists |
| 15 | if(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 | |
| 32 | endif() |
| 33 | |
| 34 | mark_as_advanced(R_FOUND R_EXEC R_ROOT_DIR R_INCLUDE_DIRS) |