# CMake support for BWAPI-Client
This is CMake project which can be included in your bot application.
**NOTE** You get two static libraries.
They are not usable for DLL bots.
These two libraries can only be linked with your client-mode bot (see
`bwapi/ExampleAIClient` for an example).
## Why?
This project does not require VS2013, and can be built with other compilers,
such as VS2015, VS2017 and, potentially, GCC with C++17 enabled.
## How to use?
In your `CMakeLists.txt` add a line **before** your `PROJECT(...)`:
ADD_SUBDIRECTORY(${MY_PATH_TO_BWAPI}/CMake/BWAPI/)
ADD_SUBDIRECTORY(${MY_PATH_TO_BWAPI}/CMake/Client/)
In your `CMakeLists.txt` add lines **inside** your `PROJECT(...)`:
GET_FILENAME_COMPONENT(BWAPI_ROOT ${CMAKE_SOURCE_DIR}/deps/bwapi/bwapi ABSOLUTE)
INCLUDE_DIRECTORIES(${BWAPI_ROOT}/include ${BWAPI_ROOT}/Util/Source)
And in linker section add lines:
ADD_DEPENDENCIES(YourProject BWAPI-Staticd)
ADD_DEPENDENCIES(YourProject BWAPIClientd)
If you build as release, remove `d` and use `BWAPI` and `BWAPIClient` instead.
## Custom compile flags
It may happen so, that your project uses different compile flags than those,
selected by default in these BWAPI projects. In such case set the
variable `BWAPI_CUSTOM_COMPILE_FLAGS` to contain compile flags before you
include CMake subdirectories.