Bengt62
Bengt62

Reputation: 137

Why does CMake ignore compiler directives

Why is CMake using /usr/bin/cc (c++) and not the compiler I give in the command?

bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0$ cd build
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ sudo rm -R *
[sudo] password for bengt: 
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ sudo cmake -DMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabi-gcc-4.7 -DMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabi-g++-4.7 ..
-- The C compiler identification is GNU 4.8.1    
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works

The compiler exists:

bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ /usr/bin/arm-linux-gnueabi-gcc-4.7 -dumpversion
4.7

Upvotes: 0

Views: 341

Answers (1)

steveire
steveire

Reputation: 11084

You are setting

MAKE_C_COMPILER

You need to set

CMAKE_C_COMPILER

Similar for the CXX compiler. Use

$ sudo cmake -DCMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabi-gcc-4.7 \
-DCMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabi-g++-4.7 ..

Upvotes: 2

Related Questions