-
-
Notifications
You must be signed in to change notification settings - Fork 1k
/
CMakeLists.txt
31 lines (23 loc) · 1.27 KB
/
CMakeLists.txt
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
FIND_PACKAGE(R REQUIRED)
UNSET(TARGET_SWIGFLAGS)
include(ShogunInterfaces)
SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} ${R_CXX_FLAGS}")
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} -DDO_NOT_USE_CXX_HEADERS")
ENDIF()
GENERATE_INTERFACE_TARGET(r ${CMAKE_CURRENT_SOURCE_DIR} ${R_LIBRARIES})
set_target_properties(interface_r PROPERTIES PREFIX "")
ADD_CUSTOM_COMMAND(TARGET interface_r
POST_BUILD
COMMAND echo 'wd="${CMAKE_CURRENT_BINARY_DIR}" \; setwd( wd ) \; f="shogun.R" \; fdata="shogun.RData" \; source( f ) \; save( list=ls( all=TRUE ) , file=fdata , compress=TRUE ) \; q( save="no" ) \;' | ${R_EXECUTABLE} --silent --no-save
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating shogun.RData"
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/shogun.so
DESTINATION ${R_COMPONENT_LIB_PATH}/shogun/libs
COMPONENT r)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/shogun.RData
DESTINATION ${R_COMPONENT_LIB_PATH}/shogun/R
COMPONENT r)
install(CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}/${R_COMPONENT_LIB_PATH}/shogun/Meta)")
install(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/r-install.sh \$ENV{DESTDIR}/${R_COMPONENT_LIB_PATH} shogun so saveRDS WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")