diff --git a/etc/cmake/check_qt_moc_includes.cmake b/etc/cmake/check_qt_moc_includes.cmake index 73f316d01670cdf835f60ce778ac444605e96c79..7a0664e44a08f00863f9a8b8cd0db42a76ae21f8 100644 --- a/etc/cmake/check_qt_moc_includes.cmake +++ b/etc/cmake/check_qt_moc_includes.cmake @@ -1,10 +1,12 @@ file(GLOB_RECURSE file_list ${DIR} LIST_DIRECTORIES FALSE RELATIVE ${DIR} ui_*.h) foreach(header_file IN LISTS file_list) if(NOT header_file MATCHES "${PROJECT_NAME}/") - file(MAKE_DIRECTORY "${DIR}${CORRECT_INCLUDE}") + get_filename_component(HEADER_FILE_DIR ${header_file} DIRECTORY) + file(MAKE_DIRECTORY "${DIR}${CORRECT_INCLUDE}/${HEADER_FILE_DIR}") message("Moving ${DIR}${header_file} to ${DIR}${CORRECT_INCLUDE}/${header_file}") file(RENAME "${DIR}${header_file}" "${DIR}${CORRECT_INCLUDE}/${header_file}") - execute_process(COMMAND bash "-c" "find ${PROJECT_SOURCE_DIR} -type f -exec sed -i 's~include \\\"${header_file}\\\"~include <${CORRECT_INCLUDE}/${header_file}>~g' {} +") + #message("find ${PROJECT_SOURCE_DIR} -type f -exec sed -i 's~include \\\"${header_file}\\\"~include <${CORRECT_INCLUDE}/${header_file}>~g' {} +") + #execute_process(COMMAND bash "-c" "find ${PROJECT_SOURCE_DIR} -type f -exec sed -i 's~include \\\"${header_file}\\\"~include <${CORRECT_INCLUDE}/${header_file}>~g' {} +") message(WARNING "The include for ${header_file} needs to use the full relative path, instead of a path without any directories. This is needed for correct installation. The correct include might be (or similar, subfolders might be missing in the proposed include) \n'#include <${CORRECT_INCLUDE}/${header_file}>'") endif() endforeach()