[R] reformat build scripts (#9540)
This commit is contained in:
parent
419e052314
commit
d159ee8547
@ -1,41 +1,54 @@
|
|||||||
find_package(LibR REQUIRED)
|
find_package(LibR REQUIRED)
|
||||||
message(STATUS "LIBR_CORE_LIBRARY " ${LIBR_CORE_LIBRARY})
|
message(STATUS "LIBR_CORE_LIBRARY " ${LIBR_CORE_LIBRARY})
|
||||||
|
|
||||||
file(GLOB_RECURSE R_SOURCES
|
file(
|
||||||
|
GLOB_RECURSE R_SOURCES
|
||||||
${CMAKE_CURRENT_LIST_DIR}/src/*.cc
|
${CMAKE_CURRENT_LIST_DIR}/src/*.cc
|
||||||
${CMAKE_CURRENT_LIST_DIR}/src/*.c)
|
${CMAKE_CURRENT_LIST_DIR}/src/*.c
|
||||||
|
)
|
||||||
|
|
||||||
# Use object library to expose symbols
|
# Use object library to expose symbols
|
||||||
add_library(xgboost-r OBJECT ${R_SOURCES})
|
add_library(xgboost-r OBJECT ${R_SOURCES})
|
||||||
if (ENABLE_ALL_WARNINGS)
|
|
||||||
|
if(ENABLE_ALL_WARNINGS)
|
||||||
target_compile_options(xgboost-r PRIVATE -Wall -Wextra)
|
target_compile_options(xgboost-r PRIVATE -Wall -Wextra)
|
||||||
endif (ENABLE_ALL_WARNINGS)
|
endif()
|
||||||
target_compile_definitions(xgboost-r
|
|
||||||
PUBLIC
|
target_compile_definitions(
|
||||||
|
xgboost-r PUBLIC
|
||||||
-DXGBOOST_STRICT_R_MODE=1
|
-DXGBOOST_STRICT_R_MODE=1
|
||||||
-DXGBOOST_CUSTOMIZE_GLOBAL_PRNG=1
|
-DXGBOOST_CUSTOMIZE_GLOBAL_PRNG=1
|
||||||
-DDMLC_LOG_BEFORE_THROW=0
|
-DDMLC_LOG_BEFORE_THROW=0
|
||||||
-DDMLC_DISABLE_STDIN=1
|
-DDMLC_DISABLE_STDIN=1
|
||||||
-DDMLC_LOG_CUSTOMIZE=1
|
-DDMLC_LOG_CUSTOMIZE=1
|
||||||
-DRABIT_STRICT_CXX98_)
|
-DRABIT_STRICT_CXX98_
|
||||||
target_include_directories(xgboost-r
|
)
|
||||||
PRIVATE
|
|
||||||
|
target_include_directories(
|
||||||
|
xgboost-r PRIVATE
|
||||||
${LIBR_INCLUDE_DIRS}
|
${LIBR_INCLUDE_DIRS}
|
||||||
${PROJECT_SOURCE_DIR}/include
|
${PROJECT_SOURCE_DIR}/include
|
||||||
${PROJECT_SOURCE_DIR}/dmlc-core/include
|
${PROJECT_SOURCE_DIR}/dmlc-core/include
|
||||||
${PROJECT_SOURCE_DIR}/rabit/include)
|
${PROJECT_SOURCE_DIR}/rabit/include
|
||||||
|
)
|
||||||
|
|
||||||
target_link_libraries(xgboost-r PUBLIC ${LIBR_CORE_LIBRARY})
|
target_link_libraries(xgboost-r PUBLIC ${LIBR_CORE_LIBRARY})
|
||||||
if (USE_OPENMP)
|
|
||||||
|
if(USE_OPENMP)
|
||||||
find_package(OpenMP REQUIRED)
|
find_package(OpenMP REQUIRED)
|
||||||
target_link_libraries(xgboost-r PUBLIC OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
|
target_link_libraries(xgboost-r PUBLIC OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
|
||||||
endif (USE_OPENMP)
|
endif()
|
||||||
|
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
xgboost-r PROPERTIES
|
xgboost-r PROPERTIES
|
||||||
CXX_STANDARD 17
|
CXX_STANDARD 17
|
||||||
CXX_STANDARD_REQUIRED ON
|
CXX_STANDARD_REQUIRED ON
|
||||||
POSITION_INDEPENDENT_CODE ON)
|
POSITION_INDEPENDENT_CODE ON
|
||||||
|
)
|
||||||
|
|
||||||
# Get compilation and link flags of xgboost-r and propagate to objxgboost
|
# Get compilation and link flags of xgboost-r and propagate to objxgboost
|
||||||
target_link_libraries(objxgboost PUBLIC xgboost-r)
|
target_link_libraries(objxgboost PUBLIC xgboost-r)
|
||||||
|
|
||||||
# Add all objects of xgboost-r to objxgboost
|
# Add all objects of xgboost-r to objxgboost
|
||||||
target_sources(objxgboost INTERFACE $<TARGET_OBJECTS:xgboost-r>)
|
target_sources(objxgboost INTERFACE $<TARGET_OBJECTS:xgboost-r>)
|
||||||
|
|
||||||
|
|||||||
@ -5,9 +5,12 @@ ENABLE_STD_THREAD=1
|
|||||||
|
|
||||||
CXX_STD = CXX17
|
CXX_STD = CXX17
|
||||||
|
|
||||||
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
XGB_RFLAGS = \
|
||||||
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
-DXGBOOST_STRICT_R_MODE=1 \
|
||||||
-DDMLC_LOG_CUSTOMIZE=1
|
-DDMLC_LOG_BEFORE_THROW=0 \
|
||||||
|
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) \
|
||||||
|
-DDMLC_DISABLE_STDIN=1 \
|
||||||
|
-DDMLC_LOG_CUSTOMIZE=1
|
||||||
|
|
||||||
# disable the use of thread_local for 32 bit windows:
|
# disable the use of thread_local for 32 bit windows:
|
||||||
ifeq ($(R_OSTYPE)$(WIN),windows)
|
ifeq ($(R_OSTYPE)$(WIN),windows)
|
||||||
@ -15,9 +18,25 @@ ifeq ($(R_OSTYPE)$(WIN),windows)
|
|||||||
endif
|
endif
|
||||||
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
||||||
|
|
||||||
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
PKG_CPPFLAGS = \
|
||||||
PKG_CXXFLAGS= @OPENMP_CXXFLAGS@ @ENDIAN_FLAG@ -pthread $(CXX_VISIBILITY)
|
-I$(PKGROOT)/include \
|
||||||
PKG_LIBS = @OPENMP_CXXFLAGS@ @OPENMP_LIB@ @ENDIAN_FLAG@ @BACKTRACE_LIB@ -pthread
|
-I$(PKGROOT)/dmlc-core/include \
|
||||||
|
-I$(PKGROOT)/rabit/include \
|
||||||
|
-I$(PKGROOT) \
|
||||||
|
$(XGB_RFLAGS)
|
||||||
|
|
||||||
|
PKG_CXXFLAGS = \
|
||||||
|
@OPENMP_CXXFLAGS@ \
|
||||||
|
@ENDIAN_FLAG@ \
|
||||||
|
-pthread \
|
||||||
|
$(CXX_VISIBILITY)
|
||||||
|
|
||||||
|
PKG_LIBS = \
|
||||||
|
@OPENMP_CXXFLAGS@ \
|
||||||
|
@OPENMP_LIB@ \
|
||||||
|
@ENDIAN_FLAG@ \
|
||||||
|
@BACKTRACE_LIB@ \
|
||||||
|
-pthread
|
||||||
|
|
||||||
OBJECTS= \
|
OBJECTS= \
|
||||||
./xgboost_R.o \
|
./xgboost_R.o \
|
||||||
|
|||||||
@ -5,9 +5,12 @@ ENABLE_STD_THREAD=0
|
|||||||
|
|
||||||
CXX_STD = CXX17
|
CXX_STD = CXX17
|
||||||
|
|
||||||
XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
XGB_RFLAGS = \
|
||||||
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\
|
-DXGBOOST_STRICT_R_MODE=1 \
|
||||||
-DDMLC_LOG_CUSTOMIZE=1
|
-DDMLC_LOG_BEFORE_THROW=0 \
|
||||||
|
-DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) \
|
||||||
|
-DDMLC_DISABLE_STDIN=1 \
|
||||||
|
-DDMLC_LOG_CUSTOMIZE=1
|
||||||
|
|
||||||
# disable the use of thread_local for 32 bit windows:
|
# disable the use of thread_local for 32 bit windows:
|
||||||
ifeq ($(R_OSTYPE)$(WIN),windows)
|
ifeq ($(R_OSTYPE)$(WIN),windows)
|
||||||
@ -15,9 +18,25 @@ ifeq ($(R_OSTYPE)$(WIN),windows)
|
|||||||
endif
|
endif
|
||||||
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
||||||
|
|
||||||
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
PKG_CPPFLAGS = \
|
||||||
PKG_CXXFLAGS= $(SHLIB_OPENMP_CXXFLAGS) -DDMLC_CMAKE_LITTLE_ENDIAN=1 $(SHLIB_PTHREAD_FLAGS) $(CXX_VISIBILITY)
|
-I$(PKGROOT)/include \
|
||||||
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) -DDMLC_CMAKE_LITTLE_ENDIAN=1 $(SHLIB_PTHREAD_FLAGS) -lwsock32 -lws2_32
|
-I$(PKGROOT)/dmlc-core/include \
|
||||||
|
-I$(PKGROOT)/rabit/include \
|
||||||
|
-I$(PKGROOT) \
|
||||||
|
$(XGB_RFLAGS)
|
||||||
|
|
||||||
|
PKG_CXXFLAGS = \
|
||||||
|
$(SHLIB_OPENMP_CXXFLAGS) \
|
||||||
|
-DDMLC_CMAKE_LITTLE_ENDIAN=1 \
|
||||||
|
$(SHLIB_PTHREAD_FLAGS) \
|
||||||
|
$(CXX_VISIBILITY)
|
||||||
|
|
||||||
|
PKG_LIBS = \
|
||||||
|
$(SHLIB_OPENMP_CXXFLAGS) \
|
||||||
|
-DDMLC_CMAKE_LITTLE_ENDIAN=1 \
|
||||||
|
$(SHLIB_PTHREAD_FLAGS) \
|
||||||
|
-lwsock32 \
|
||||||
|
-lws2_32
|
||||||
|
|
||||||
OBJECTS= \
|
OBJECTS= \
|
||||||
./xgboost_R.o \
|
./xgboost_R.o \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user