Mercurial > molko
view cmake/MlkBcc.cmake @ 520:7e7c6786d21e
ui: button has now pressed style attributes
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 04 Mar 2023 15:10:35 +0100 |
parents | e1fa1b867281 |
children | ffd972a3d084 |
line wrap: on
line source
# # CMakeLists.txt -- CMake build system for Molko's Engine # # Copyright (c) 2020-2022 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # macro(mlk_bcc) set(options "") set(oneValueArgs OUTPUTS_VAR) set(multiValueArgs ASSETS) cmake_parse_arguments(_bcc "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) if (NOT _bcc_OUTPUTS_VAR) message(FATAL_ERROR "Missing OUTPUTS_VAR") elseif (NOT _bcc_ASSETS) message(FATAL_ERROR "Missing ASSETS") endif () foreach (a ${_bcc_ASSETS}) cmake_path( RELATIVE_PATH a BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE output ) cmake_path(GET output PARENT_PATH outputdir) cmake_path(GET output EXTENSION extension) cmake_path(REPLACE_EXTENSION output .h) cmake_path(REMOVE_EXTENSION output OUTPUT_VARIABLE outputname) if (extension MATCHES ".sql") set(args "-0cs") else () set(args "-cs") endif () set(outputfile ${CMAKE_CURRENT_BINARY_DIR}/${output}) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${output} COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${outputdir} COMMAND $<TARGET_FILE:mlk-bcc> ${args} ${a} ${outputname} > ${outputfile} COMMENT "Generating ${output}" DEPENDS $<TARGET_FILE:mlk-bcc> ${a} ) list(APPEND ${_bcc_OUTPUTS_VAR} ${CMAKE_CURRENT_BINARY_DIR}/${output}) endforeach () endmacro()