Files
CPM.cmake/examples/highway/CMakeLists.txt
Scott B d416d9b22c Adding PATCHES keyword. (#558)
* Adding PATCHES keyword.

* Formatting fix.

* Move cpm_add_patches() outside if/else scopes.

* cmake-format: add PATCHES to CPMAddPackage.

* Integration tests for PATCHES command.

* Use get_filename_component() in place of cmake_path() for use with all cmake versions 3.14 and above.

* Added an example and improved comment for cpm_add_patches.
2024-06-12 15:43:27 +02:00

29 lines
977 B
CMake

cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
project(CPMExamplePatchHighway)
# ---- Dependencies ----
include(../../cmake/CPM.cmake)
# Google's highway Includes a SIMD sorting function that is faster than x86-simd-sort for larger
# arrays. See: https://github.com/google/highway/blob/master/g3doc/quick_reference.md
CPMAddPackage(
NAME highway
URL https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz
URL_HASH SHA256=354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9
PATCHES "highway.patch" # This adds SYSTEM to the includes.
OPTIONS "HWY_ENABLE_EXAMPLES OFF" "HWY_ENABLE_INSTALL OFF" "HWY_ENABLE_TESTS OFF"
)
# ---- Executable ----
if(LINUX)
# This would cause a float compare error inside the highway header code if the patch is NOT
# applied.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wfloat-equal")
endif()
add_executable(CPMExamplePatchHighway "main.cpp")
target_link_libraries(CPMExamplePatchHighway hwy hwy_contrib)