The issue with the generator expressions is that they are expanded in only in specific target properties, and here we need them to be expanded in configure_lit_site_cfg. If you know the right incantation to make that happen, then please let me know.
Deriving the c++ compiler name is a bit tricky, because the name is very variable (sometimes it has a version suffix, sometimes it has a triple prefix), but it is doable. On 17 November 2017 at 21:44, Chris Bieneman <chris.biene...@me.com> wrote: > A few notes on this change. > >> On Oct 27, 2017, at 2:22 PM, Davide Italiano via lldb-commits >> <lldb-commits@lists.llvm.org> wrote: >> >> Author: davide >> Date: Fri Oct 27 14:22:57 2017 >> New Revision: 316800 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=316800&view=rev >> Log: >> [CMake] Build clang as dependency when using in-tree clang for tests. >> >> Discussed with Zachary Turner and Pavel Labath on lldb-dev. >> Let's hope this doesn't break anything :) >> >> Modified: >> lldb/trunk/lit/CMakeLists.txt >> lldb/trunk/test/CMakeLists.txt >> >> Modified: lldb/trunk/lit/CMakeLists.txt >> URL: >> http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/CMakeLists.txt?rev=316800&r1=316799&r2=316800&view=diff >> ============================================================================== >> --- lldb/trunk/lit/CMakeLists.txt (original) >> +++ lldb/trunk/lit/CMakeLists.txt Fri Oct 27 14:22:57 2017 >> @@ -54,6 +54,12 @@ add_lit_testsuite(check-lldb-lit "Runnin >> >> set_target_properties(check-lldb-lit PROPERTIES FOLDER "LLDB tests") >> >> +# If we're building with an in-tree clang, then list clang as a dependency >> +# to run tests. >> +if (TARGET clang) >> + add_dependencies(check-lldb-lit clang) >> +endif() > > This is unnecessary. Higher up in the file clang is added to LLDB_TEST_DEPS, > which gets setup correctly. > >> + >> add_lit_testsuites(LLDB ${CMAKE_CURRENT_SOURCE_DIR} >> PARAMS lldb_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg >> lldb_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg >> >> Modified: lldb/trunk/test/CMakeLists.txt >> URL: >> http://llvm.org/viewvc/llvm-project/lldb/trunk/test/CMakeLists.txt?rev=316800&r1=316799&r2=316800&view=diff >> ============================================================================== >> --- lldb/trunk/test/CMakeLists.txt (original) >> +++ lldb/trunk/test/CMakeLists.txt Fri Oct 27 14:22:57 2017 >> @@ -109,6 +109,12 @@ add_python_test_target(check-lldb >> "Testing LLDB (parallel execution, with a separate subprocess per test)" >> ) >> >> +# If we're building with an in-tree clang, then list clang as a dependency >> +# to run tests. >> +if (TARGET clang) >> + add_dependencies(check-lldb clang) >> +endif() > > This is only necessary because Pavel's change (r316728) broke it. Prior to > Pavel's change we specified the in-tree compiler using a generator expression > which is more robust and properly sets up a dependency. > > It would be much better to remove this and fix Pavel's patch to use generator > expressions for finding the compiler. The fix for Pavel's patch would be to > set `LLDB_DEFAULT_TEST_C_COMPILER` to `$<TARGET_FILE:clang>` instead of > trying to hand munge the path. We also should derive the CXX compiler from > the C compiler as it is pretty unnecessary to define them separately. > > -Chris > >> + >> add_custom_target(lldb-test-depends DEPENDS ${LLDB_TEST_DEPENDS}) >> # This will add LLDB's test dependencies to the depenednecies for check-all >> and >> # include them in the test-depends target. >> >> >> _______________________________________________ >> lldb-commits mailing list >> lldb-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits > _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits