userver-framework / userver

Production-ready C++ Asynchronous Framework with rich functionality
https://userver.tech
Apache License 2.0
2.37k stars 275 forks source link

Preliminary CMake configure support on Windows (#228) #666

Open leha-bot opened 1 month ago

leha-bot commented 1 month ago

The first step on proper compilation on Windows: the CMake configuring.

Some notes and restrictions of this PR:

  1. I used the vcpkg as a source of 3rd-party libraries. (I also fixed Windows build for the libev by this vcpkg PR specially for getting userver to configure by CMake). You have to install all dependencies which has been requested by userver's configure script (via "vcpkg search <depname>" and "vcpkg install <depname>");
  2. While I fixed the CMake configuring, the master has been moved up, and my fixes for Python tests were irrelevant. I will send it later (as part of #229);
  3. As tests were not fixed, for proper configuring you have to disable them via -DUSERVER_FEATURE_TESTSUITE=OFF;
  4. Some non-MSVC flags were moved under the "userver_target_cxx_compile_options_if_supported()";
  5. uboost coro should be disabled if it was in your CMake cache via -DUSERVER_FEATURE_UBOOST_CORO=OFF.

Related to #228.

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/

github-actions[bot] commented 1 month ago

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

leha-bot commented 1 month ago

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/