Meine Projektstruktur:Wie verweise ich die ausführbare Datei von einem anderen Verzeichnis in CMake?
/external-source-generating-tool
/external-source-generating-tool/CMakeLists.txt
/external-source-generating-tool/*.cpp
/src
/src/CMakeLists.txt
/src/*.cpp
/CMakeLists.txt
CMakeLists.txt:
add_subdirectory(external-source-generating-tool)
add_subdirectory(src)
/src/CMakeLists.txt:
add_custom_command(OUTPUT generated-source.cpp
COMMAND external-source-generating-tool -o generated-source.cpp
MAIN_DEPENDENCY external-source-generating-tool
COMMENT "Generating...")
add_executable(my-app source1.cpp generated-source.cpp)
Die Probleme ist /src/CMakeLists.txt
nicht external-source-generating-tool
finden:
Error:Cannot find source file:
external-source-generating-tool
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
Wie richtig anrufen external-source-generating-tool
von /src/CMakeLists.txt
?
Laut der Fehlermeldung scheint es, dass Sie versuchen, 'externe-Source-Generating-Tool' als ** Quelldatei ** für' add_executable() 'hinzuzufügen. Es hat nichts gemein mit der Unfähigkeit, "externe-quellengenerierende-tool" * ausführbare * für die Ausführung zu finden. – Tsyvarev
Wirklich, es war sichtbar. Das Problem war mit dem Parameter 'MAIN_DEPENDENCY external-source-tool '. Ich habe es entfernt und jetzt funktioniert alles gut. –