CMake: CMakeLists.txt - Ich checks einfach nicht!



  • Hallo,

    obwohl ich mir jetzt dieses Tutorial http://www.cmake.org/cmake/help/examples.html zu CMake angeschaut hab, blick ichs nicht...

    ich will einfach, dass ein UNIX Makefile generiert wird. ich will einfach, dass aus einigen c-sourcecode-dateien mit dem gcc eine dynamic library compiliert wird.

    mein bisheriges \1:

    cmake_minimum_required(VERSION 2.6)
    projekt(testprojekt)
    add_subdirectory(source)
    add_subdirectory(binary)
    cmake_c_compiler(gcc)
    

    Die Sache geht schon damit los, dass cmake nicht erkennt, dass ich Unix Makefiles will:
    cmake -G "Unix Makefiles" CMakeLists.txt

    😞
    Und ich weiß nicht, wie es weitergeht...
    und der befehl cmake_c_compiler(gcc) scheint auch nicht zu funktionieren.
    könnte mir bitte jemand helfen?



  • Was hast Du denn für Fehlermeldungen?

    Hast Du in dein Verzeichnissen "source" und "binary" denn auch noch CMakeLists.txt's? Zum kennelernen von CMake würde ich auch erstmal nicht mit add_subdirectory arbeiten.

    Soweit ich weiß, musst Du

    cmake -G "Unix Makefiles" .
    

    im Verzeichnis der Datei CMakeLists.txt aufrufen.
    Viel Erfolg!



  • CMake Error: Error: generator : Unix Makefiles
    Does not match the generator used previously: NMake Makefiles
    Either remove the CMakeCache.txt file or choose a different binary directory.

    ?



  • überfordert schrieb:

    CMake Error: Error: generator : Unix Makefiles
    Does not match the generator used previously: NMake Makefiles
    Either remove the CMakeCache.txt file or choose a different binary directory.

    ?

    einfach die von CMake generierten Files löschen.

    Ich mache es jeweils so:

    |- MeinProjektVerzeichnis
      |- CMakeLists.txt
      |- Build
      |- .. Sourcen etc.
    

    Wechsle (auf der Commandline) ins Verzeichnis Build und gebe dann cmake -G "Unix Makefiles" .. ein (.. bedeutet: CMake findet das CMakeLists.txt im Eltern-Verzeichnis). CMake generiert dann die Files ins Verzeichnis Build und genau diese kannst du auch wieder löschen. Natürlich könntest du auch weitere Unterverzechnisse in Build machen - je nach Compiler, Plattform, Architektur, etc.



  • Vielleicht benutz ich dann doch das GNU build system...


Anmelden zum Antworten