From 8c7397324324cbfd10895e0388f387d0e2a068f3 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 10 Feb 2025 10:58:15 +0100 Subject: [PATCH] Fix generate_parameter_library macro on Windows --- .../cmake/generate_parameter_library.cmake | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/generate_parameter_library/cmake/generate_parameter_library.cmake b/generate_parameter_library/cmake/generate_parameter_library.cmake index 07bf3a2..1bf6d18 100644 --- a/generate_parameter_library/cmake/generate_parameter_library.cmake +++ b/generate_parameter_library/cmake/generate_parameter_library.cmake @@ -70,13 +70,12 @@ macro(generate_parameter_library LIB_NAME YAML_FILE) ) # necessary so that #include can be used in the local package (deprecated) set(LOCAL_PARAM_HEADER_FILE ${CMAKE_CURRENT_BINARY_DIR}/include/${LIB_NAME}.hpp) + set(LOCAL_PARAM_HEADER_PRAGMA_WARNING_FILE ${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}_pragma_warning) + file(WRITE ${LOCAL_PARAM_HEADER_PRAGMA_WARNING_FILE} + "#pragma message(\"#include \\\"${LIB_NAME}.hpp\\\" is deprecated. Use #include <${PROJECT_NAME}/${LIB_NAME}.hpp> instead.\")\n") add_custom_command( OUTPUT ${LOCAL_PARAM_HEADER_FILE} - COMMAND ${CMAKE_COMMAND} -E echo "#pragma message(\"#include \\\"${LIB_NAME}.hpp\\\" is deprecated. \ -Use #include <${PROJECT_NAME}/${LIB_NAME}.hpp> instead.\")" >> ${LOCAL_PARAM_HEADER_FILE} - COMMAND ${CMAKE_COMMAND} -E cat ${LOCAL_PARAM_HEADER_FILE} ${PARAM_HEADER_FILE} > ${LOCAL_PARAM_HEADER_FILE}.tmp - COMMAND ${CMAKE_COMMAND} -E copy ${LOCAL_PARAM_HEADER_FILE}.tmp ${LOCAL_PARAM_HEADER_FILE} - COMMAND ${CMAKE_COMMAND} -E remove ${LOCAL_PARAM_HEADER_FILE}.tmp + COMMAND ${CMAKE_COMMAND} -E cat ${LOCAL_PARAM_HEADER_PRAGMA_WARNING_FILE} ${PARAM_HEADER_FILE} > ${LOCAL_PARAM_HEADER_FILE} DEPENDS ${PARAM_HEADER_FILE} COMMENT "Creating deprecated header file ${LOCAL_PARAM_HEADER_FILE}"