mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 22:30:13 -06:00
Autogen: Test: Add generated qrc file to rccDepends test
This commit is contained in:
@@ -101,7 +101,7 @@ list(GET target1List 0 binFile)
|
|||||||
set(timeformat "%Y%j%H%M%S")
|
set(timeformat "%Y%j%H%M%S")
|
||||||
file(TIMESTAMP "${binFile}" timeBegin "${timeformat}")
|
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 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}" -E touch "${CMAKE_CURRENT_BINARY_DIR}/rccDepends/res1/input.txt")
|
||||||
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
|
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
|
||||||
@@ -111,11 +111,26 @@ execute_process(COMMAND "${CMAKE_COMMAND}" --build .
|
|||||||
if (rccDepends_result)
|
if (rccDepends_result)
|
||||||
message(SEND_ERROR "Second build of rccDepends failed.")
|
message(SEND_ERROR "Second build of rccDepends failed.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Compare timestamps
|
# Compare timestamps
|
||||||
file(TIMESTAMP "${binFile}" timeStep1 "${timeformat}")
|
file(TIMESTAMP "${binFile}" timeStep1 "${timeformat}")
|
||||||
if (NOT timeStep1 GREATER timeBegin)
|
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()
|
endif()
|
||||||
|
|
||||||
# -- Test
|
# -- Test
|
||||||
|
|||||||
@@ -15,13 +15,22 @@ else()
|
|||||||
set(QT_CORE_TARGET Qt5::Core)
|
set(QT_CORE_TARGET Qt5::Core)
|
||||||
endif()
|
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.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}/res1.qrc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/res2.qrc
|
||||||
)
|
)
|
||||||
target_link_libraries(test_res1 ${QT_CORE_TARGET})
|
target_link_libraries(rccDepends ${QT_CORE_TARGET})
|
||||||
add_custom_command(TARGET test_res1 POST_BUILD COMMAND
|
add_custom_command(TARGET rccDepends POST_BUILD COMMAND
|
||||||
${CMAKE_COMMAND} -E echo "$<TARGET_FILE:test_res1>" > target1.txt)
|
${CMAKE_COMMAND} -E echo "$<TARGET_FILE:rccDepends>" > target1.txt)
|
||||||
|
|||||||
1
Tests/QtAutogen/rccDepends/res/input2.txt.in
Normal file
1
Tests/QtAutogen/rccDepends/res/input2.txt.in
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Res2 input.
|
||||||
5
Tests/QtAutogen/rccDepends/res2.qrc.in
Normal file
5
Tests/QtAutogen/rccDepends/res2.qrc.in
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/">
|
||||||
|
<file>res2/input.txt</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
Reference in New Issue
Block a user