Jiaming Yuan 207f058711 Refactor CMake scripts. (#4323)
* Refactor CMake scripts.

* Remove CMake CUDA wrapper.
* Bump CMake version for CUDA.
* Use CMake to handle Doxygen.
* Split up CMakeList.
* Export install target.
* Use modern CMake.
* Remove build.sh
* Workaround for gpu_hist test.
* Use cmake 3.12.

* Revert machine.conf.

* Move CLI test to gpu.

* Small cleanup.

* Support using XGBoost as submodule.

* Fix windows

* Fix cpp tests on Windows

* Remove duplicated find_package.
2019-04-15 10:08:12 -07:00
..
2019-04-08 11:22:03 +12:00
2019-04-08 11:22:03 +12:00
2019-04-15 10:08:12 -07:00

C-APIs

XGBoost implements a C API originally designed for various language bindings. For detailed reference, please check xgboost/c_api.h. Here is a demonstration of using the API.

CMake

If you use CMake for your project, you can either install XGBoost somewhere in your system and tell CMake to find it by calling find_package(xgboost), or put XGBoost inside your project's source tree and call CMake command: add_subdirectory(xgboost). To use find_package(), put the following in your CMakeLists.txt:

find_package(xgboost REQUIRED)
add_executable(api-demo c-api-demo.c)
target_link_libraries(api-demo xgboost::xgboost)

If you want to put XGBoost inside your project (like git submodule), use this instead:

add_subdirectory(xgboost)
add_executable(api-demo c-api-demo.c)
target_link_libraries(api-demo xgboost)

make

You can start by modifying the makefile in this directory to fit your need.