[R] reformat build scripts (#9540)

This commit is contained in:
James Lamb 2023-09-04 04:40:46 -05:00 committed by GitHub
parent 419e052314
commit d159ee8547
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 25 deletions

View File

@ -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>)

View File

@ -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 \

View File

@ -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 \