2016-09-20 3 views
1

ich UseLATEX verwende, mit BefehlenWarum CMake verdoppelt den Pfad?

set(MainFile "Demo.tex")  
set(InputFiles ${MainFile} Main.tex OtherFiles.tex) 

dann später verwende ich es wie

ADD_LATEX_DOCUMENT(${MyFileName} 
    INPUTS  "${InputFiles}") 

und alles funktioniert. Wenn ich

file(GLOB_RECURSE InputFiles src/*.tex) 

ändere dann erhalte ich Nachrichten mit einer Liste von Dateien, die ich in Eingabedateien setzen wollte, aber vorangehen mit

"Could not find input file ${CMAKE_SOURCE_DIR}/${CMAKE_SOURCE_DIR}/OtherFiles.tex" 

und natürlich, dass Pfad nicht existiert. Was ist falsch?

+0

Haben Sie nicht mit 'ADD_LATEX_DOCUMENT()' gearbeitet, aber es scheint, es relative Pfade brauchen würde. Bitte versuchen Sie 'file (GLOB_RECURSE InputFiles RELATIVE $ {CMAKE_SOURCE_DIR}" src/*. Tex) '. – Florian

+0

@Florian Ja, das war es. Wenn Sie Ihren Kommentar in eine Antwort konvertieren, könnte ich das akzeptieren. – katang

+0

Ich bin froh, dass ich helfen konnte. Ich habe meinen Kommentar als Antwort hinzugefügt. – Florian

Antwort

1

Drehen meines Kommentars in Antwort

Haben Sie nicht mit ADD_LATEX_DOCUMENT() gearbeitet, aber es scheint es das aktuelle Verzeichnis selbst anhängt und relative Pfade benötigen würde.

einfach Ihre file(GLOB ...) Befehl zur Ausgabe relative Pfade ändern:

file(GLOB_RECURSE InputFiles RELATIVE "${CMAKE_SOURCE_DIR}" src/*.tex)