Skip to content

Commit

Permalink
[c++] remove uses of '..' in headers (#6409)
Browse files Browse the repository at this point in the history
  • Loading branch information
jameslamb committed May 4, 2024
1 parent 9f5fbb6 commit 6e78e69
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 16 deletions.
20 changes: 19 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ include_directories(${EIGEN_DIR})
add_definitions(-DEIGEN_MPL2_ONLY)
add_definitions(-DEIGEN_DONT_PARALLELIZE)

set(FAST_DOUBLE_PARSER_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/external_libs/fast_double_parser/include")
include_directories(${FAST_DOUBLE_PARSER_INCLUDE_DIR})

set(FMT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/external_libs/fmt/include")
include_directories(${FMT_INCLUDE_DIR})

if(__BUILD_FOR_R)
find_package(LibR REQUIRED)
message(STATUS "LIBR_EXECUTABLE: ${LIBR_EXECUTABLE}")
Expand Down Expand Up @@ -702,5 +708,17 @@ install(
)

if(INSTALL_HEADERS)
install(DIRECTORY ${LightGBM_HEADER_DIR}/LightGBM DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
install(
DIRECTORY ${LightGBM_HEADER_DIR}/LightGBM
DESTINATION ${CMAKE_INSTALL_PREFIX}/include
)
install(
FILES ${FAST_DOUBLE_PARSER_INCLUDE_DIR}/fast_double_parser.h
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/LightGBM/utils
)
install(
DIRECTORY ${FMT_INCLUDE_DIR}/
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/LightGBM/utils
FILES_MATCHING PATTERN "*.h"
)
endif()
16 changes: 3 additions & 13 deletions build-cran-package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ fi

cp \
external_libs/fast_double_parser/include/fast_double_parser.h \
"${TEMP_R_DIR}/src/include/LightGBM"
"${TEMP_R_DIR}/src/include/LightGBM/utils"

mkdir -p "${TEMP_R_DIR}/src/include/LightGBM/fmt"
mkdir -p "${TEMP_R_DIR}/src/include/LightGBM/utils/fmt"
cp \
external_libs/fmt/include/fmt/*.h \
"${TEMP_R_DIR}/src/include/LightGBM/fmt/"
"${TEMP_R_DIR}/src/include/LightGBM/utils/fmt"

# including only specific files from Eigen, to keep the R package
# small and avoid redistributing code with licenses incompatible with
Expand Down Expand Up @@ -155,16 +155,6 @@ cd "${TEMP_R_DIR}"
done
find . -name '*.h.bak' -o -name '*.hpp.bak' -o -name '*.cpp.bak' -exec rm {} \;

sed \
-i.bak \
-e 's/\.\..*fmt\/format\.h/LightGBM\/fmt\/format\.h/' \
src/include/LightGBM/utils/common.h

sed \
-i.bak \
-e 's/\.\..*fast_double_parser\.h/LightGBM\/fast_double_parser\.h/' \
src/include/LightGBM/utils/common.h

# 'processx' is listed as a 'Suggests' dependency in DESCRIPTION
# because it is used in install.libs.R, a file that is not
# included in the CRAN distribution of the package
Expand Down
4 changes: 2 additions & 2 deletions include/LightGBM/utils/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
#include <vector>

#define FMT_HEADER_ONLY
#include "../../../external_libs/fast_double_parser/include/fast_double_parser.h"
#include "../../../external_libs/fmt/include/fmt/format.h"
#include "fast_double_parser.h"
#include "fmt/format.h"

#ifdef _MSC_VER
#include <intrin.h>
Expand Down

0 comments on commit 6e78e69

Please sign in to comment.