Blizzard / Blizzard/s2client-api

CMake install

Open
#90 23 comments 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
1.7k
Forks
280
PR merge metrics
No merged PRs in 30d

Description

I've started looking at creating an install target for the api. The main problem right now is that civetweb always tries to install its executable along with it's library component. You currently disable building the executable using the [EXCLUDE_FROM_ALL property](https://github.com/Blizzard/s2client-api/blob/master/CMakeLists.txt#L48), but that doesn't disable it from trying to install when we run make (and generates a warning like you mention a few lines above it). As far as I can tell, this is the only real barrier to creating a decent install target.

I see a couple of options, though, one which involves installing into the cmake binary dir and then we reinstall the header and library file from our cmake; another that was switching the `add_subdirectory` call to [ExternalProject_Add](https://cmake.org/cmake/help/v3.9/module/ExternalProject.html) and disabling the install step, then again installing the generated library and header ourselves; finally, which I think is the most reasonable approach that I can think of, so far, is to add a flag to disable the executable install. I have a patch prepared to add that to the ~blizzard fork~ civetweb master.

After applying that change to my local files I'm investigating a problem from protobuf:
```
CMake Error at contrib/protobuf/cmake/cmake_install.cmake:571 (file):
file INSTALL cannot find
"/home/braedy/dev/cpp/s2client-api/build/lib/cmake/protobuf".
Call Stack (most recent call first):
cmake_install.cmake:38 (include)
```
Will update if I find something.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.