Ich kann nicht verstehen, was ich falsch mache. Ich bekomme immer die Zeichenfolge $<TARGET_FILE:tgt1>
anstelle des Pfades zur Bibliothek.
Ich habe das Dummy-Projekt erstellt.
Hier ist meine Wurzel CMakeLists.txt
cmake_minimum_required (VERSION 3.0) # also tried 2.8 with the same result
set(PROJECT_NAME CMP0026)
add_subdirectory(src)
set(TGT_PATH $<TARGET_FILE:tgt1>)
message(STATUS "${TGT_PATH}")
Hier mein src/CMakeLists.txt ist
add_library(tgt1 a.c)
Datei a.c
erstellt und ist leer
ich folgendes versucht haben, Generatoren: Visual Studio 2013 Win64, Ninja und MingW Makefile. Ich habe Android Toolchain für die letzten zwei, heruntergeladen von here
Ich erwarte, dass der letzte message(STATUS
Befehl würde den vollständigen Pfad zur Bibliothek drucken. Alle Varianten drucken jedoch die Zeichenfolge $<TARGET_FILE:tgt1>
.
Danke. Jetzt sehe ich. Daher wäre die beste Variante in meinem Fall die Umstellung auf das alte CMP0026-Verhalten. – wl2776
@ wl2776 Die Frage ist, brauchen Sie wirklich den Ort zum Zeitpunkt der Konfiguration? – Angew
@Agnew. Sieht so aus als ob ich es tue. Ich rufe configure_file in einer meiner CMakeLists auf und benötige daher diesen Pfad während der Konfigurationszeit. – wl2776