Spring кеш с Websphere dynacache

Там хороший трюк, который делает именно то, что вам нужно. Это основано на идее, которую я нашел в модуле git-revision @rpavlik , см. Это так: вопрос

. Это общая идея:

  • Создайте файл временной метки времени
  • Добавьте пользовательскую команду, которая касается метки времени, когда файл входа .pri изменяется
  • , включает файл временной метки в вашем CMakeLists.txt

Возможная реализация:

set(input_pri_file )
set(timestamp_file ${CMAKE_CURRENT_BINARY_DIR}/timestamp.cmake)

add_custom_command(
    OUTPUT ${timestamp_file}
    COMMAND ${CMAKE_COMMAND} -E touch ${timestamp_file}
    MAIN_DEPENDENCY ${input_pri_file}
    VERBATIM
    COMMENT "Updating timestamp.cmake"
)

if(NOT EXISTS "${timestamp_file}")
    file(WRITE ${timestamp_file} "") # create initial empty file
endif()
include(${timestamp_file})

# create the file list from input_pri_file
....
# use the file list
add_executable(main ${filelist})

Вот что происходит при изменении файла .pri:

  • изменение запускает выполнение пользовательской команды
  • , который обновляет метку времени
  • , потому что CMakeLists включает в себя временную метку, которая зависит от нее
  • , поэтому обновление временной метки запускает повторную настройку CMakeLists.txt

0
задан meesun 16 January 2019 в 04:02
поделиться