CMake: Make Interrogate macro ensure output directories exist

This was causing problems on the Xcode generator under macOS,
which wasn't automatically creating the output directories
for us.
This commit is contained in:
Sam Edwards 2019-06-05 02:27:31 -06:00
parent 449a514f5f
commit 1a237670e3

View File

@ -225,8 +225,13 @@ function(interrogate_sources target output database language_flags)
endif()
endforeach(build_type)
get_filename_component(output_directory "${output}" DIRECTORY)
get_filename_component(database_directory "${database}" DIRECTORY)
add_custom_command(
OUTPUT "${output}" "${database}"
COMMAND ${CMAKE_COMMAND} -E
make_directory "${output_directory}" "${database_directory}"
COMMAND host_interrogate
-oc "${output}"
-od "${database}"
@ -325,6 +330,8 @@ function(add_python_module module)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${module}_module.cxx"
COMMAND ${CMAKE_COMMAND} -E
make_directory "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}"
COMMAND host_interrogate_module
-oc "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${module}_module.cxx"
-module ${modname} -library ${modname}