Jaime Soto c5f77be5c5 [yara] Remove Windows-only assumptions in CMakeLists.txt (#4431)
* [yara] Remove Windows-only assumptions in CMakeLists.txt

Fixes x64-linux build. Addresses GitHub vcpkg issue #4411.

Defines `libyara_dependencies` and `libyara_definitions` CMake variables
to simplify calls to `target_link_libraries` and
`target_compile_definitions`, respectively.

Replaces `USE_WINDOWS_PROC` definition with platform-specific definition
(e.g., `USE_LINUX_PROC`) based on how `proc_interface` is defined in
configure.ac. Currently supports only Windows, Linux, and Darwin.
Replaces libyara/proc/windows.c source file with platform-specific
source file from libyara/proc.

Adds missing libyara/endian.c and libyara/stopwatch.c source files to
`libyara_sources` variable. Addresses missing byte-swap symbols
(`_yr_bswap16`, `_yr_bswap32`, and `_yr_bswap64`).

Adds `find_package` call for `Threads`, setting pthread as preferred
threads library in Linux. Adds `Threads::Threads` as a libyara dependency.
Addresses missing thread and semaphore symbols.

Adds `m` (math library) as a dependency if building with GCC to address
missing `log2` symbol.

* [yara] Bump control version
2018-10-09 00:22:07 -07:00
2018-09-02 21:01:51 +02:00
2016-09-18 20:54:03 -07:00

Vcpkg

Overview

Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success!

For short description of available commands, run vcpkg help.

Quick Start

Prerequisites:

  • Windows 10, 8.1, 7, Linux, or MacOS
  • Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows)
  • Git
  • Optional: CMake 3.10.2

To get started:

> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg

PS> .\bootstrap-vcpkg.bat
Linux:~/$ ./bootstrap-vcpkg.sh

Then, to hook up user-wide integration, run (note: requires admin on first use)

PS> .\vcpkg integrate install
Linux:~/$ ./vcpkg integrate install

Install any packages with

PS> .\vcpkg install sdl2 curl
Linux:~/$ ./vcpkg install sdl2 curl

The best way to use installed libraries with CMake is via the toolchain file scripts\buildsystems\vcpkg.cmake. To use this file, you simply need to add it onto your CMake command line as -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake.

In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be #include'd and used in your project without additional configuration.

For more information, see our using a package example for the specifics.

Additional notes on macOS and Linux support can be found in the official announcement.

Tab-Completion / Auto-Completion

vcpkg supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use

.\vcpkg integrate powershell

and restart Powershell.

Examples

See the documentation for specific walkthroughs, including using a package and adding a new package.

Our docs are now also available online at ReadTheDocs: https://vcpkg.readthedocs.io/!

See a 4 minute video demo.

Contributing

Vcpkg is built with your contributions. Here are some ways you can contribute:

Please refer to our Contribution guidelines for more details.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

Code licensed under the MIT License.

Description
C++ Library Manager for Windows, Linux, and MacOS
Readme 27 MiB
Languages
CMake 58.7%
C++ 35.3%
C 2.6%
PowerShell 2.1%
Perl 0.4%
Other 0.8%