Commit 2e0a8077 authored by Guolin Ke's avatar Guolin Ke
Browse files

rollback cmakelists

parent 79f7f422
...@@ -36,15 +36,15 @@ install: ...@@ -36,15 +36,15 @@ install:
script: script:
- cd $TRAVIS_BUILD_DIR - cd $TRAVIS_BUILD_DIR
- mkdir build && cd build && cmake -DUSE_MPI=ON -DBUILD_EXE=OFF -DBUILD_LIB=ON ..&& make - mkdir build && cd build && cmake -DUSE_MPI=ON ..&& make _lightgbm
- cd $TRAVIS_BUILD_DIR/python-package && python setup.py install --precompile - cd $TRAVIS_BUILD_DIR/python-package && python setup.py install --precompile
- cd $TRAVIS_BUILD_DIR && pytest tests/c_api_test/test.py - cd $TRAVIS_BUILD_DIR && pytest tests/c_api_test/test.py
- cd $TRAVIS_BUILD_DIR && pytest tests/python_package_test - cd $TRAVIS_BUILD_DIR && pytest tests/python_package_test
- cd $TRAVIS_BUILD_DIR && pep8 --ignore=E501 --exclude=./compute,./docs . - cd $TRAVIS_BUILD_DIR && pep8 --ignore=E501 --exclude=./compute,./docs .
- cd $TRAVIS_BUILD_DIR - cd $TRAVIS_BUILD_DIR
- rm -rf build && mkdir build && cd build && cmake -DBUILD_EXE=OFF -DBUILD_LIB=ON -DUSE_GPU=ON -DBOOST_ROOT="$HOME/miniconda/" -DOpenCL_INCLUDE_DIR=$AMDAPPSDK/include/ .. - rm -rf build && mkdir build && cd build && cmake -DUSE_GPU=ON -DBOOST_ROOT="$HOME/miniconda/" -DOpenCL_INCLUDE_DIR=$AMDAPPSDK/include/ ..
- sed -i 's/std::string device_type = "cpu";/std::string device_type = "gpu";/' ../include/LightGBM/config.h - sed -i 's/std::string device_type = "cpu";/std::string device_type = "gpu";/' ../include/LightGBM/config.h
- make - make _lightgbm
- sed -i 's/std::string device_type = "gpu";/std::string device_type = "cpu";/' ../include/LightGBM/config.h - sed -i 's/std::string device_type = "gpu";/std::string device_type = "cpu";/' ../include/LightGBM/config.h
- cd $TRAVIS_BUILD_DIR/python-package && python setup.py install --precompile - cd $TRAVIS_BUILD_DIR/python-package && python setup.py install --precompile
- cd $TRAVIS_BUILD_DIR && pytest tests/c_api_test/test.py - cd $TRAVIS_BUILD_DIR && pytest tests/c_api_test/test.py
...@@ -59,7 +59,7 @@ script: ...@@ -59,7 +59,7 @@ script:
- cd $TRAVIS_BUILD_DIR/python-package/dist && pip install lightgbm-$LGB_VER.tar.gz -v - cd $TRAVIS_BUILD_DIR/python-package/dist && pip install lightgbm-$LGB_VER.tar.gz -v
- cd $TRAVIS_BUILD_DIR && pytest tests/python_package_test - cd $TRAVIS_BUILD_DIR && pytest tests/python_package_test
- cd $TRAVIS_BUILD_DIR - cd $TRAVIS_BUILD_DIR
- rm -rf build && mkdir build && cd build && cmake .. && make - rm -rf build && mkdir build && cd build && cmake .. && make lightgbm
- cd $TRAVIS_BUILD_DIR/tests/cpp_test && ../../lightgbm config=train.conf && ../../lightgbm config=predict.conf output_result=origin.pred - cd $TRAVIS_BUILD_DIR/tests/cpp_test && ../../lightgbm config=train.conf && ../../lightgbm config=predict.conf output_result=origin.pred
- cd $TRAVIS_BUILD_DIR/build && make - cd $TRAVIS_BUILD_DIR/build && make
- cd $TRAVIS_BUILD_DIR/tests/cpp_test && ../../lightgbm config=predict.conf output_result=ifelse.pred && python test.py - cd $TRAVIS_BUILD_DIR/tests/cpp_test && ../../lightgbm config=predict.conf output_result=ifelse.pred && python test.py
......
...@@ -10,12 +10,6 @@ PROJECT(lightgbm) ...@@ -10,12 +10,6 @@ PROJECT(lightgbm)
OPTION(USE_MPI "MPI based parallel learning" OFF) OPTION(USE_MPI "MPI based parallel learning" OFF)
OPTION(USE_OPENMP "Enable OpenMP" ON) OPTION(USE_OPENMP "Enable OpenMP" ON)
OPTION(USE_GPU "Enable GPU-acclerated training (EXPERIMENTAL)" OFF) OPTION(USE_GPU "Enable GPU-acclerated training (EXPERIMENTAL)" OFF)
OPTION(BUILD_EXE "Build execute program" ON)
OPTION(BUILD_LIB "Build dynamic library" OFF)
if(NOT BUILD_EXE AND NOT BUILD_LIB)
message( FATAL_ERROR "You cannot disable BUILD_EXE and BUILD_LIB at the same time." )
endif()
if(APPLE) if(APPLE)
OPTION(APPLE_OUTPUT_DYLIB "Output dylib shared library" OFF) OPTION(APPLE_OUTPUT_DYLIB "Output dylib shared library" OFF)
...@@ -113,51 +107,33 @@ file(GLOB SOURCES ...@@ -113,51 +107,33 @@ file(GLOB SOURCES
src/treelearner/*.cpp src/treelearner/*.cpp
) )
if(BUILD_EXE) add_executable(lightgbm src/main.cpp ${SOURCES})
add_executable(lightgbm src/main.cpp ${SOURCES}) add_library(_lightgbm SHARED src/c_api.cpp src/lightgbm_R.cpp ${SOURCES})
endif()
if(BUILD_LIB)
add_library(_lightgbm SHARED src/c_api.cpp src/lightgbm_R.cpp ${SOURCES})
endif()
if(MSVC AND BUILD_LIB) if(MSVC)
set_target_properties(_lightgbm PROPERTIES OUTPUT_NAME "lib_lightgbm") set_target_properties(_lightgbm PROPERTIES OUTPUT_NAME "lib_lightgbm")
endif() endif(MSVC)
if(USE_MPI) if(USE_MPI)
if(BUILD_EXE)
TARGET_LINK_LIBRARIES(lightgbm ${MPI_CXX_LIBRARIES}) TARGET_LINK_LIBRARIES(lightgbm ${MPI_CXX_LIBRARIES})
endif()
if(BUILD_LIB)
TARGET_LINK_LIBRARIES(_lightgbm ${MPI_CXX_LIBRARIES}) TARGET_LINK_LIBRARIES(_lightgbm ${MPI_CXX_LIBRARIES})
endif()
endif(USE_MPI) endif(USE_MPI)
if(USE_GPU) if(USE_GPU)
if(BUILD_EXE)
TARGET_LINK_LIBRARIES(lightgbm ${OpenCL_LIBRARY} ${Boost_LIBRARIES}) TARGET_LINK_LIBRARIES(lightgbm ${OpenCL_LIBRARY} ${Boost_LIBRARIES})
endif()
if(BUILD_LIB)
TARGET_LINK_LIBRARIES(_lightgbm ${OpenCL_LIBRARY} ${Boost_LIBRARIES}) TARGET_LINK_LIBRARIES(_lightgbm ${OpenCL_LIBRARY} ${Boost_LIBRARIES})
endif()
endif(USE_GPU) endif(USE_GPU)
if(WIN32 AND (MINGW OR CYGWIN)) if(WIN32 AND (MINGW OR CYGWIN))
if(BUILD_EXE)
TARGET_LINK_LIBRARIES(lightgbm Ws2_32) TARGET_LINK_LIBRARIES(lightgbm Ws2_32)
TARGET_LINK_LIBRARIES(lightgbm IPHLPAPI)
endif()
if(BUILD_LIB)
TARGET_LINK_LIBRARIES(_lightgbm Ws2_32) TARGET_LINK_LIBRARIES(_lightgbm Ws2_32)
TARGET_LINK_LIBRARIES(lightgbm IPHLPAPI)
TARGET_LINK_LIBRARIES(_lightgbm IPHLPAPI) TARGET_LINK_LIBRARIES(_lightgbm IPHLPAPI)
endif()
endif() endif()
if(BUILD_EXE AND BUILD_LIB) install(TARGETS lightgbm _lightgbm
install(TARGETS lightgbm _lightgbm
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(DIRECTORY ${LightGBM_HEADER_DIR}/LightGBM DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
endif()
install(DIRECTORY ${LightGBM_HEADER_DIR}/LightGBM DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
\ No newline at end of file
...@@ -34,15 +34,15 @@ if (!use_precompile) { ...@@ -34,15 +34,15 @@ if (!use_precompile) {
setwd(build_dir) setwd(build_dir)
# Prepare installation steps # Prepare installation steps
cmake_cmd <- "cmake -DBUILD_EXE=OFF -DBUILD_LIB=ON " cmake_cmd <- "cmake "
build_cmd <- "make -j4" build_cmd <- "make _lightgbm -j4"
lib_folder <- file.path(R_PACKAGE_SOURCE, "src", fsep = "/") lib_folder <- file.path(R_PACKAGE_SOURCE, "src", fsep = "/")
# Check if Windows installation (for gcc vs Visual Studio) # Check if Windows installation (for gcc vs Visual Studio)
if (WINDOWS) { if (WINDOWS) {
if (use_mingw) { if (use_mingw) {
cmake_cmd <- paste0(cmake_cmd, " -G \"MinGW Makefiles\" ") cmake_cmd <- paste0(cmake_cmd, " -G \"MinGW Makefiles\" ")
build_cmd <- "mingw32-make.exe -j4" build_cmd <- "mingw32-make.exe _lightgbm -j4"
} else { } else {
cmake_cmd <- paste0(cmake_cmd, " -DCMAKE_GENERATOR_PLATFORM=x64 ") cmake_cmd <- paste0(cmake_cmd, " -DCMAKE_GENERATOR_PLATFORM=x64 ")
build_cmd <- "cmake --build . --target _lightgbm --config Release" build_cmd <- "cmake --build . --target _lightgbm --config Release"
......
...@@ -13,7 +13,7 @@ init: ...@@ -13,7 +13,7 @@ init:
build_script: build_script:
- mkdir build && cd build - mkdir build && cd build
- cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DBUILD_EXE=ON -DBUILD_LIB=ON .. && cmake --build . --target ALL_BUILD --config Release - cmake -DCMAKE_GENERATOR_PLATFORM=x64 .. && cmake --build . --target ALL_BUILD --config Release
- cd .. - cd ..
test_script: test_script:
......
...@@ -62,13 +62,13 @@ if __name__ == "__main__": ...@@ -62,13 +62,13 @@ if __name__ == "__main__":
os.makedirs("build") os.makedirs("build")
os.chdir("build") os.chdir("build")
cmake_cmd = "cmake -DBUILD_EXE=OFF -DBUILD_LIB=ON " cmake_cmd = "cmake "
build_cmd = "make" build_cmd = "make _lightgbm"
if os.name == "nt": if os.name == "nt":
if use_mingw: if use_mingw:
cmake_cmd = cmake_cmd + " -G \"MinGW Makefiles\" " cmake_cmd = cmake_cmd + " -G \"MinGW Makefiles\" "
build_cmd = "mingw32-make.exe" build_cmd = "mingw32-make.exe _lightgbm"
else: else:
cmake_cmd = cmake_cmd + " -DCMAKE_GENERATOR_PLATFORM=x64 " cmake_cmd = cmake_cmd + " -DCMAKE_GENERATOR_PLATFORM=x64 "
build_cmd = "cmake --build . --target _lightgbm --config Release" build_cmd = "cmake --build . --target _lightgbm --config Release"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment