From 25fd6f5a7848e0b502a4ef19edd7c8f971051da1 Mon Sep 17 00:00:00 2001 From: Thomas Arcila <134677+tarcila@users.noreply.github.com> Date: Wed, 11 Dec 2024 12:45:28 -0500 Subject: [PATCH] Enable setting output location of the generated queries files --- cmake/anari_generate_codegen.cmake | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/anari_generate_codegen.cmake b/cmake/anari_generate_codegen.cmake index a30f712f..4edb288c 100644 --- a/cmake/anari_generate_codegen.cmake +++ b/cmake/anari_generate_codegen.cmake @@ -12,7 +12,7 @@ function(anari_generate_queries) # options "" # single-arg options - "PREFIX;NAME;CPP_NAMESPACE;JSON_DEFINITIONS_FILE;JSON_ROOT_LOCATION" + "PREFIX;NAME;CPP_NAMESPACE;JSON_DEFINITIONS_FILE;JSON_ROOT_LOCATION;OUTPUT_LOCATION" # multi-arg options "" # string to parse @@ -29,6 +29,12 @@ function(anari_generate_queries) set(EXTRA_JSON_OPTION --json ${GENERATE_JSON_ROOT_LOCATION}) endif() + if (DEFINED GENERATE_OUTPUT_LOCATION) + set(OUTPUT_LOCATION ${GENERATE_OUTPUT_LOCATION}) + else() + set(OUTPUT_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + add_custom_target(generate_${GENERATE_NAME} COMMAND ${Python3_EXECUTABLE} ${ANARI_CODE_GEN_ROOT}/generate_queries.py --json ${ANARI_CODE_GEN_ROOT} @@ -36,10 +42,16 @@ function(anari_generate_queries) --prefix ${GENERATE_PREFIX} --device ${GENERATE_JSON_DEFINITIONS_FILE} --namespace ${GENERATE_CPP_NAMESPACE} + --output ${OUTPUT_LOCATION} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${GENERATE_JSON_DEFINITIONS_FILE} ) + set_source_files_properties( + ${OUTPUT_LOCATION}/${GENERATE_PREFIX}Queries.h ${OUTPUT_LOCATION}/${GENERATE_PREFIX}Queries.cpp + PROPERTIES GENERATED ON + ) + if (TARGET generate_all) add_dependencies(generate_all generate_${GENERATE_NAME}) endif()