mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 14:20:06 -06:00
By specifying CODEGEN as an argument to add_custom_command the custom command will be added to a codegen build target. The intent is to provide a convenient way for users to get their generated files without having to build the whole project. This can be helpful for code analysis tools which can be useful for IDEs and CI.
20 lines
723 B
CMake
20 lines
723 B
CMake
add_custom_target(foobar
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_SOURCE_DIR}/generated.h.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/generated.h
|
|
BYPRODUCTS
|
|
${CMAKE_CURRENT_BINARY_DIR}/generated.h
|
|
)
|
|
|
|
# This codegen step relies on the BYPRODUCTS of the previous command.
|
|
# If foobar isn't properly accounted for as a dependency it will fail.
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated.hpp
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/generated.h
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/generated.h
|
|
${CMAKE_CURRENT_BINARY_DIR}/generated.hpp
|
|
CODEGEN
|
|
)
|
|
|
|
add_custom_target(hpp_creator ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/generated.hpp)
|