From 5b836a4e1200dca403f503ba94524fb0d41ad731 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vitaliy=20Cherepanov/AI=20Tools=20Lab=20/SRR/Engineer/?= =?utf8?q?=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Thu, 19 Jul 2018 17:11:37 +0300 Subject: [PATCH] Fix C/C++ files generation (#704) generation header from *.def files: - created separate rule for each def file - fix library dependency Signed-off-by: Vitaliy Cherepanov --- contrib/nnc/libs/backend/soft/CMakeLists.txt | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/contrib/nnc/libs/backend/soft/CMakeLists.txt b/contrib/nnc/libs/backend/soft/CMakeLists.txt index 4da485c..d6c8f80 100644 --- a/contrib/nnc/libs/backend/soft/CMakeLists.txt +++ b/contrib/nnc/libs/backend/soft/CMakeLists.txt @@ -6,17 +6,17 @@ file(GLOB_RECURSE TESTS "src/*.test.cpp") file(GLOB_RECURSE SOFT_DEF_SOURCES include/*.def) list(REMOVE_ITEM SOFT_BACKEND_SOURCES ${TESTS} ${DEF_CONV}) -# TODO move this macro to common make file -macro(replace_ext ext dest_list src_list) - SET(${dest_list} "") - FOREACH(file IN LISTS ${src_list}) - GET_FILENAME_COMPONENT(file_path ${file} PATH) - GET_FILENAME_COMPONENT(file_name ${file} NAME_WE) - list(APPEND ${dest_list} "${file_path}/${file_name}/${ext}") - ENDFOREACH() -endmacro() - -replace_ext(".h" SOFT_GENERATED_SOURCES SOFT_DEF_SOURCES) +set(SOFT_GENERATED_SOURCES "") +foreach(file IN LISTS SOFT_DEF_SOURCES) + get_filename_component(file_name ${file} NAME_WE) + set(out_file "${CMAKE_CURRENT_BINARY_DIR}/${file_name}.h") + list(APPEND SOFT_GENERATED_SOURCES "${out_file}") + add_custom_command( + OUTPUT ${out_file} + COMMAND def2src ${CMAKE_CURRENT_BINARY_DIR} ${file} + DEPENDS def2src ${file} + ) +endforeach() add_library(soft_backend SHARED ${SOFT_BACKEND_SOURCES} ${SOFT_GENERATED_SOURCES}) @@ -27,12 +27,6 @@ target_include_directories(nnc_soft_backend_test PRIVATE ${CMAKE_CURRENT_BINARY_ add_executable(def2src ${DEF_CONV}) -add_custom_command( - OUTPUT ${SOFT_GENERATED_SOURCES} - COMMAND def2src ${CMAKE_CURRENT_BINARY_DIR} ${SOFT_DEF_SOURCES} - DEPENDS def2src ${SOFT_DEF_SOURCES} -) - target_link_libraries(soft_backend PRIVATE nncc_core) target_include_directories(soft_backend PUBLIC include) -- 2.7.4