Problem bei der Verwendung von Cmake in Unterverzeichnisse nach noch mit cmake auf das gesamte Projekt

Ich habe den Kopf Ordner namens Tutorial und sub-Ordner mit dem Namen MathFunctions jeweils mit einem code
Ich schrieb CMakeLists.txt für beide Ordner und verwendet cmake in cmd promptand es ist in Ordnung.

CMakeLists.txt im Haupt-Ordner hat den folgenden:

CMAKE_MINIMUM_REQUIRED ( VERSION 2.6)

PROJECT (Tutorial)

SET (Tutorial_VERSION_MAJOR 1)
SET (Tutorial_VERSION_MINOR 0)

CONFIGURE_FILE (
"${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
"${PROJECT_BINARY_DIR}/TutorialConfig.h "
)

INCLUDE_DIRECTORIES ("${PROJECT_BINARY_DIR}")

OPTION (USE_MYMATH "Use tutorial provided math implementation" ON)

if (USE_MYMATH)
  INCLUDE_DIRECTORIES ("${PROJECT_SOURCE_DIR}/MathFunctions")

  ADD_SUBDIRECTORY (MathFunctions)
  SET (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
endif (USE_MYMATH)

ADD_EXECUTABLE (Tutorial tutorial.c)
TARGET_LINK_LIBRARIES (Tutorial ${EXTRA_LIBS})

CMakeLists.txt in sub-Ordner hat den folgenden:

CMAKE_MINIMUM_REQUIRED ( VERSION 2.6)
add_library (MathFunctions mysqrt.c )

und in der Eingabeaufforderung :

C:\home\Tutorial\BUILD>cmake ..

-- Building for: Visual Studio 9 2008

-- Check for working C compiler using: Visual Studio 9 2008

-- Check for working C compiler using: Visual Studio 9 2008 --

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler using: Visual Studio 9 2008

-- Check for working CXX compiler using: Visual Studio 9 2008

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Configuring done

-- Generating done

-- Build files have been written to: C:/home/Tutorial/BUILD

Später machte ich einige änderungen in MathFunctions.c .Ich habe keine änderungen in der Anleitung.c. Also ich möchte wieder generieren von Dateien, die nur für MathFunctions Ordner. Aber ich bin nicht in der Lage, es zu tun. Ich erhalte die folgende Fehlermeldung

C:\home\Tutorial\BUILD>cmake ../MathFunctions

CMake-Fehler: Die Quelle "C:/home/Tutorial/MathFunctions/CMakeLists.txt" nicht mit der Quelle "C:/home/Tutorial/CMakeLists.txt" zum erzeugen des cache. Re cmake mit einem anderen Quellcode-Verzeichnis.

Ich kann nicht herausfinden, warum dieser Fehler kommt.
Bitte helfen
Dank

InformationsquelleAutor javaMan | 2011-06-28
Schreibe einen Kommentar