Autogen: Test: Add generated qrc file to rccDepends test

This commit is contained in:
Sebastian Holtermann 2017-03-02 18:16:54 +01:00
parent 81656b9210
commit 7f9baf5790
6 changed files with 39 additions and 9 deletions

View File

@ -101,7 +101,7 @@ list(GET target1List 0 binFile)
set(timeformat "%Y%j%H%M%S")
file(TIMESTAMP "${binFile}" timeBegin "${timeformat}")
# Touch qrc input file and rebuild
# Touch first qrc input file and rebuild
execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep 1) # Ensure that the timestamp will change.
execute_process(COMMAND "${CMAKE_COMMAND}" -E touch "${CMAKE_CURRENT_BINARY_DIR}/rccDepends/res1/input.txt")
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
@ -111,11 +111,26 @@ execute_process(COMMAND "${CMAKE_COMMAND}" --build .
if (rccDepends_result)
message(SEND_ERROR "Second build of rccDepends failed.")
endif()
# Compare timestamps
file(TIMESTAMP "${binFile}" timeStep1 "${timeformat}")
if (NOT timeStep1 GREATER timeBegin)
message(SEND_ERROR "file1 (${binFile}) should have changed in the first step!")
message(SEND_ERROR "File (${binFile}) should have changed in the first step!")
endif()
# Touch second qrc input file and rebuild
execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep 1) # Ensure that the timestamp will change.
execute_process(COMMAND "${CMAKE_COMMAND}" -E touch "${CMAKE_CURRENT_BINARY_DIR}/rccDepends/res2/input.txt")
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/rccDepends"
RESULT_VARIABLE rccDepends_result
)
if (rccDepends_result)
message(SEND_ERROR "Third build of rccDepends failed.")
endif()
# Compare timestamps
file(TIMESTAMP "${binFile}" timeStep2 "${timeformat}")
if (NOT timeStep2 GREATER timeStep1)
message(SEND_ERROR "File (${binFile}) should have changed in the second step!")
endif()
# -- Test

View File

@ -15,13 +15,22 @@ else()
set(QT_CORE_TARGET Qt5::Core)
endif()
configure_file(res/input1.txt.in res1/input.txt @ONLY)
configure_file(res/input2.txt.in res2/input.txt @ONLY)
# Configure time generated qrc file
configure_file(res1.qrc.in res1.qrc @ONLY)
configure_file(res1/input.txt.in res1/input.txt @ONLY)
# Dependency generated qrc file
add_custom_command(OUTPUT res2.qrc
COMMAND ${CMAKE_COMMAND} -E sleep 3
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res2.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/res2.qrc
)
add_executable(test_res1
test_res1.cpp
add_executable(rccDepends
main.cpp
${CMAKE_CURRENT_BINARY_DIR}/res1.qrc
${CMAKE_CURRENT_BINARY_DIR}/res2.qrc
)
target_link_libraries(test_res1 ${QT_CORE_TARGET})
add_custom_command(TARGET test_res1 POST_BUILD COMMAND
${CMAKE_COMMAND} -E echo "$<TARGET_FILE:test_res1>" > target1.txt)
target_link_libraries(rccDepends ${QT_CORE_TARGET})
add_custom_command(TARGET rccDepends POST_BUILD COMMAND
${CMAKE_COMMAND} -E echo "$<TARGET_FILE:rccDepends>" > target1.txt)

View File

@ -0,0 +1 @@
Res2 input.

View File

@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/">
<file>res2/input.txt</file>
</qresource>
</RCC>