26 lines
793 B
CMake
26 lines
793 B
CMake
cmake_minimum_required(VERSION 3.6)
|
|
|
|
find_program(PATCH_EXECUTABLE patch)
|
|
if(NOT PATCH_EXECUTABLE)
|
|
message(FATAL_ERROR "Patch utility not found! Install patch tool before continuing.")
|
|
endif()
|
|
|
|
set(PATCH_FILE "${CMAKE_SOURCE_DIR}/patches/config.patch")
|
|
set(PATCH_MARKER_FILE "${CMAKE_BINARY_DIR}/.config_patch_applied")
|
|
|
|
if(NOT EXISTS "${PATCH_FILE}")
|
|
message(WARNING "Patch file not found: ${PATCH_FILE}")
|
|
endif()
|
|
|
|
add_custom_command(
|
|
OUTPUT "${PATCH_MARKER_FILE}"
|
|
COMMAND "${PATCH_EXECUTABLE}" -p1 -i "${PATCH_FILE}" --reject-file=- --silent || exit 0
|
|
COMMAND cmake -E touch "${PATCH_MARKER_FILE}"
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
COMMENT "Applying config.patch..."
|
|
VERBATIM
|
|
)
|
|
|
|
add_custom_target(apply_config_patch
|
|
DEPENDS "${PATCH_MARKER_FILE}"
|
|
)
|