FindR.cmake 980 B

12345678910111213141516171819202122232425262728293031323334
  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. set(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
  9. set(CMAKE_FIND_APPBUNDLE "NEVER")
  10. find_program(R_EXEC NAMES R R.exe)
  11. set(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
  12. #---Find includes and libraries if R exists
  13. if(R_EXEC)
  14. set(R_FOUND TRUE)
  15. if((CMAKE_HOST_SOLARIS) AND (DEFINED ENV{R_HOME}))
  16. message(STATUS "Unsetting R_HOME on Solaris.")
  17. unset(ENV{R_HOME})
  18. endif()
  19. execute_process(WORKING_DIRECTORY .
  20. COMMAND ${R_EXEC} RHOME
  21. OUTPUT_VARIABLE R_ROOT_DIR
  22. OUTPUT_STRIP_TRAILING_WHITESPACE)
  23. find_path(R_INCLUDE_DIRS R.h
  24. PATHS /usr/local/lib /usr/local/lib64 /usr/share /usr/include ${R_ROOT_DIR} PATH_SUFFIXES include R R/include)
  25. endif()
  26. mark_as_advanced(R_FOUND R_EXEC R_ROOT_DIR R_INCLUDE_DIRS)