From 28a8827ad986673d190e6b87faa101fc46122155 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Sun, 7 Jan 2024 20:19:29 -0600 Subject: [PATCH 1/3] [cmake] replace 'cp' with 'cmake -E copy_if_different' --- CMakeLists.txt | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49f67d806c22..8c79b73f6a7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -521,7 +521,12 @@ if(USE_SWIG) TARGET _lightgbm_swig POST_BUILD COMMAND "${Java_JAVAC_EXECUTABLE}" -d . java/*.java - COMMAND cp "${PROJECT_SOURCE_DIR}/Release/*.dll" com/microsoft/ml/lightgbm/windows/x86_64 + COMMAND + "${CMAKE_COMMAND}" + -E + copy_if_different + "${PROJECT_SOURCE_DIR}/Release/*.dll" + com/microsoft/ml/lightgbm/windows/x86_64 COMMAND "${Java_JAR_EXECUTABLE}" -cf lightgbmlib.jar com ) endif() @@ -530,9 +535,16 @@ if(USE_SWIG) TARGET _lightgbm_swig POST_BUILD COMMAND "${Java_JAVAC_EXECUTABLE}" -d . java/*.java - COMMAND cp "${PROJECT_SOURCE_DIR}/*.dylib" com/microsoft/ml/lightgbm/osx/x86_64 COMMAND - cp + "${CMAKE_COMMAND}" + -E + copy_if_different + "${PROJECT_SOURCE_DIR}/*.dylib" + com/microsoft/ml/lightgbm/osx/x86_64 + COMMAND + "${CMAKE_COMMAND}" + -E + copy_if_different "${PROJECT_SOURCE_DIR}/lib_lightgbm_swig.jnilib" com/microsoft/ml/lightgbm/osx/x86_64/lib_lightgbm_swig.dylib COMMAND "${Java_JAR_EXECUTABLE}" -cf lightgbmlib.jar com @@ -542,7 +554,12 @@ if(USE_SWIG) TARGET _lightgbm_swig POST_BUILD COMMAND "${Java_JAVAC_EXECUTABLE}" -d . java/*.java - COMMAND cp "${PROJECT_SOURCE_DIR}/*.so" com/microsoft/ml/lightgbm/linux/x86_64 + COMMAND + "${CMAKE_COMMAND}" + -E + copy_if_different + "${PROJECT_SOURCE_DIR}/*.so" + com/microsoft/ml/lightgbm/linux/x86_64 COMMAND "${Java_JAR_EXECUTABLE}" -cf lightgbmlib.jar com ) endif() From 50f6e383b5af56492c5d876171c2bbc9b4854b47 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Sun, 7 Jan 2024 22:01:32 -0600 Subject: [PATCH 2/3] no wildcards --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c79b73f6a7a..5e27113edc5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -525,7 +525,13 @@ if(USE_SWIG) "${CMAKE_COMMAND}" -E copy_if_different - "${PROJECT_SOURCE_DIR}/Release/*.dll" + "${PROJECT_SOURCE_DIR}/Release/lib_lightgbm.dll" + com/microsoft/ml/lightgbm/windows/x86_64 + COMMAND + "${CMAKE_COMMAND}" + -E + copy_if_different + "${PROJECT_SOURCE_DIR}/Release/lib_lightgbm_swig.dll" com/microsoft/ml/lightgbm/windows/x86_64 COMMAND "${Java_JAR_EXECUTABLE}" -cf lightgbmlib.jar com ) From 62dcdecd69648a4808d030847ac8eca82f997687 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Sun, 7 Jan 2024 22:08:17 -0600 Subject: [PATCH 3/3] remove more wildcards --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e27113edc5c..e2c49ea29975 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -545,7 +545,7 @@ if(USE_SWIG) "${CMAKE_COMMAND}" -E copy_if_different - "${PROJECT_SOURCE_DIR}/*.dylib" + "${PROJECT_SOURCE_DIR}/lib_lightgbm.dylib" com/microsoft/ml/lightgbm/osx/x86_64 COMMAND "${CMAKE_COMMAND}" @@ -564,7 +564,7 @@ if(USE_SWIG) "${CMAKE_COMMAND}" -E copy_if_different - "${PROJECT_SOURCE_DIR}/*.so" + "${PROJECT_SOURCE_DIR}/lib_lightgbm.so" com/microsoft/ml/lightgbm/linux/x86_64 COMMAND "${Java_JAR_EXECUTABLE}" -cf lightgbmlib.jar com )