-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsubtopology.cmake
35 lines (26 loc) · 1.5 KB
/
subtopology.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
include(autocoder/helpers)
set(PYTHON_TOOL "/Users/amosalla/JPL/348C/subtopology-ac-testing/ac-tool/src/ac_tool/tool.py")
autocoder_setup_for_individual_sources()
function(subtopology_is_supported AC_INPUT_FILE)
autocoder_support_by_suffix(".fpp" "${AC_INPUT_FILE}" TRUE)
endfunction(subtopology_is_supported)
function(subtopology_setup_autocode AC_INPUT_FILE)
get_filename_component(BASENAME "${AC_INPUT_FILE}" NAME)
message(STATUS "Checking for subtopology instances in ${BASENAME}")
set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${FPRIME_CURRENT_MODULE}.subtopologies.fpp")
set(LOCAL_CACHE "${CMAKE_CURRENT_BINARY_DIR}/fpp-cache")
set(GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/${FPRIME_CURRENT_MODULE}.subtopologies.fpp" "${CMAKE_CURRENT_BINARY_DIR}/st-locs.fpp" "${CMAKE_CURRENT_BINARY_DIR}/${BASENAME}")
if (CMAKE_DEBUG_OUTPUT)
message(STATUS "[Subtopology Ac] CLI: ${PYTHON} ${PYTHON_TOOL} --locs ${CMAKE_BINARY_DIR}/locs.fpp --file ${AC_INPUT_FILE} --p ${OUTPUT_FILE} --c ${LOCAL_CACHE}")
endif()
execute_process(
COMMAND ${PYTHON} ${PYTHON_TOOL} --locs ${CMAKE_BINARY_DIR}/locs.fpp --file ${AC_INPUT_FILE} --p ${GENERATED_FILES} --c ${LOCAL_CACHE}
RESULT_VARIABLE RETURN_CODE
)
if (RETURN_CODE EQUAL 0)
set(AUTOCODER_GENERATED "${GENERATED_FILES}" PARENT_SCOPE)
set(AUTOCODER_REMOVED_SOURCES "${AC_INPUT_FILE}" PARENT_SCOPE)
else()
set(AUTOCODER_GENERATED "" PARENT_SCOPE)
endif()
endfunction(subtopology_setup_autocode)