CMake-cross-kompilieren: C-flags von toolchain-Datei ignoriert

Ich cmake für die cross-Compilierung. In meiner toolchain-Datei gibt es eine Zeile

SET(CMAKE_C_FLAGS "-std=gnu99")

Diese variable nicht gesetzt ist CMakeLists.txt wieder.

Wenn ich cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake .. wird dieses flag ignoriert.

Werden, genauer: Die Linie der flags.cmake zeigt eine leere C_FLAGS = Linie.
Aber in CMakeOutput.log kann ich die Zeile finden Build flags: -std=gnu99.

Fand ich heraus, dass eine zweite Auflage von cmake .. (gleich mit oder ohne toolchain-Datei angegeben) behebt dieses problem.

Aber warum ist es nicht das erste mal, dass ich cmake ??

EDIT: Hinzugefügt MNWE

CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
project(myproject)

SET(files src/main.c)

add_executable(myexec ${files})

avr.cmake:

SET(CMAKE_SYSTEM_NAME Generic)

SET(CMAKE_C_COMPILER avr-gcc)

SET(CMAKE_C_FLAGS "-std=gnu99")
  • Danke!!! Ich hatte genau dieses Problem.
InformationsquelleAutor ejoerns | 2012-07-10
Schreibe einen Kommentar