From e02f677f61030f6c74f06ecd56092521dd68cab4 Mon Sep 17 00:00:00 2001 From: Josef Angstenberger Date: Sun, 20 Sep 2020 17:38:09 +0200 Subject: Tests: Add test for early source lookup of file(GENERATE) The output file structures of file(GENERATE) have to be created early to be able to use the generated files in source lists. This was not done correctly for subdirectories which has been fixed in commit aee2c51224 (file(GENERATE): Create output file structures for all directories first, 2020-09-10). Add a test case to address issue #21144. --- Tests/RunCMake/File_Generate/GenerateSource.cmake | 3 +++ Tests/RunCMake/File_Generate/GenerateSource/CMakeLists.txt | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 Tests/RunCMake/File_Generate/GenerateSource/CMakeLists.txt diff --git a/Tests/RunCMake/File_Generate/GenerateSource.cmake b/Tests/RunCMake/File_Generate/GenerateSource.cmake index 147a7f6..d5504e3 100644 --- a/Tests/RunCMake/File_Generate/GenerateSource.cmake +++ b/Tests/RunCMake/File_Generate/GenerateSource.cmake @@ -10,3 +10,6 @@ file(GENERATE ) add_executable(mn "${CMAKE_CURRENT_BINARY_DIR}/main.cpp") + +add_subdirectory(GenerateSource) +target_link_libraries(mn PRIVATE ObjLib) diff --git a/Tests/RunCMake/File_Generate/GenerateSource/CMakeLists.txt b/Tests/RunCMake/File_Generate/GenerateSource/CMakeLists.txt new file mode 100644 index 0000000..bca8922 --- /dev/null +++ b/Tests/RunCMake/File_Generate/GenerateSource/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(ObjLib OBJECT) + +target_sources(ObjLib PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/ObjLib.cpp") + +# Ensure re-generation +file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/ObjLib.cpp") + +file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ObjLib.cpp" CONTENT "") -- cgit v0.12