furnace/extern/libsndfile-modified/cmake/CMakeAutoGen.cmake
tildearrow 061991fe60 desubmodulize libsndfile - PLEASE READ
it appears a one-character typo in the cmake_minimum_required line prevents it from compiling under CMake 4.0.
in order to fix that, I had to take this thing out of submodules...

it is recommended to do this after you pull;

git submodule deinit extern/libsndfile
2025-04-02 15:09:53 -05:00

47 lines
1.2 KiB
CMake

# CMake implementation of AutoGen
# Copyright (C) 2017 Anonymous Maarten <anonymous.maarten@gmail.com>
set(AUTOGEN_SCRIPT "${CMAKE_MODULE_PATH}/CMakeAutoGenScript.cmake")
function(lsf_autogen DIR_REL NAME_WE)
set(EXTS ${ARGN})
set(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/${DIR_REL}/${NAME_WE}.def")
set(OUTPUTS)
foreach(EXT ${EXTS})
list(APPEND OUTPUTS "${NAME_WE}.${EXT}")
endforeach()
add_autogen_target("${INPUT}" "${CMAKE_CURRENT_BINARY_DIR}/${DIR_REL}" ${OUTPUTS})
endfunction()
function(add_autogen_target INPUT OUTPUTDIR)
set(OUTPUTFILES "${ARGN}")
if (OUTPUTDIR)
set(PREFIX "${OUTPUTDIR}/")
else()
set(PREFIX "")
endif()
set(ARTIFACTS)
foreach(OUTPUTFILE ${OUTPUTFILES})
list(APPEND ARTIFACTS "${PREFIX}${OUTPUTFILE}")
endforeach()
set(EXTRA_ARGS)
if (AUTOGEN_DEBUG)
list(APPEND EXTRA_ARGS "-DDEBUG=1")
endif()
if (OUTPUTDIR)
list(APPEND EXTRA_ARGS "-DOUTPUTDIR=${OUTPUTDIR}")
endif()
add_custom_command(
OUTPUT ${ARTIFACTS}
COMMAND ${CMAKE_COMMAND} "-DDEFINITION=${INPUT}" ${EXTRA_ARGS} -P "${AUTOGEN_SCRIPT}"
MAIN_DEPENDENCY "${INPUT}"
DEPENDS "${AUTOGEN_SCRIPT}"
COMMENT "CMakeAutoGen: generating ${OUTPUTFILES}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
)
endfunction()