Will Dicharry wrote:
The toolchain file looks like this (the project is actually mixed
C/Fortran code so there's some C/C++ stuff in the actual toolchain file,
but this simple toolchain with a simple Fortran exe reproduces the
problem):
set( CMAKE_SYSTEM_NAME AIX )
set( CMAKE_Fortran_COMPILER mpxlf90 )
set( CMAKE_Fortran_FLAGS "-qfixed=72" CACHE STRING "" )
We do this because we need a quick way to choose our compiler (cmake
chooses GNU on this system by default, and we have to use an MPI wrapper
compiler) and because we want those particular Fortran flags when the
MPI wrapper compiler is being used.
The usual way to do this is
$ export FC=mpxlf90
$ export FFLAGS="-qfixed=72"
$ cmake /path/to/source
When I use this toolchain file, the Fortran compiler ID is unknown (I
failed to see this before, the C and CXX compiler IDs were correct).
However if I comment out the set CMAKE_Fortran_FLAGS line or if I skip
the toolchain file altogether and just pass
-DCMAKE_Fortran_COMPILER=mpxlf90 into the cmake command, the compiler ID
is VisualAge and everything works fine.
Am I misusing the toolchain file capability?
As Bill said, the toolchain file is meant for cross compiling. It can
probably be used for normal configuration, but that is not well-tested.
I just tried something similar to your example and the compiler id check
works.
$ cat mytool.cmake
set(CMAKE_SYSTEM_NAME AIX)
set(CMAKE_Fortran_COMPILER xlf90)
set(CMAKE_Fortran_FLAGS "-q64" CACHE STRING "")
$ cat CMakeLists.txt
cmake_minimum_required(VERSION 2.6)
project(FOO Fortran)
add_definitions(-DTADA)
add_executable(foo foo.f)
$ mkdir b; cd b
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../mytool.cmake
-Brad
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake