MantisBT - CMake
View Issue Details
0013510CMakeCMakepublic2012-09-03 07:302013-03-04 08:38
raspy 
Peter Kuemmel 
normalminoralways
closedfixed 
LinuxRHEL5.4
CMake 2.8.9 
CMake 2.8.10CMake 2.8.10 
0013510: OBJECT_DIR is not expanded for Ninja generator
Our compilation rule looks as follows:

<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -fr=<OBJECT_DIR> <SOURCE>

Trying to use Ninja generator fails:

CMake Error at /home/user/cmake-2.8.9-Linux-i386/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):
  The C compiler "/path/to/cgtools/bin/cl6x" is not able
  to compile a simple test program.

  It fails with the following output:

   Change Dir: /path/to/build/CMakeFiles/CMakeTmp



  Run Build Command:/path/to/ninja
  cmTryCompileExec2716513962

  [1/2] Building C object
  CMakeFiles/cmTryCompileExec2716513962.dir/testCCompiler.obj

  FAILED: /path/to/cgtools/bin/cl6x -fr=OBJECT_DIR
  testCCompiler.c

  "/tmp/13712I59qtv", ERROR! at EOF: [E1500] file access error: failed to
  open

                                               "OBJECT_DIR/testCCompiler.obj" for
                                               writing

  "/tmp/13712I59qtv", ERROR! : [E1000] Failed to write object file :

                                        OBJECT_DIR/testCCompiler.obj



  >> Compilation failure

  ninja: build stopped: subcommand failed.





  CMake will not be able to correctly generate this project.
Use:

SET(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -fr=<OBJECT_DIR> <SOURCE>")

Then run cmake -G Ninja .
It seems that cmNinjaTargetGenerator::WriteCompileRule (Source/cmNinjaTargetGenerator.cxx:335) does not define ObjectDir in variables as Unix Generator does.
No tags attached.
Issue History
2012-09-03 07:30raspyNew Issue
2012-10-03 09:00Peter KuemmelAssigned To => Peter Kuemmel
2012-10-03 09:00Peter KuemmelStatusnew => assigned
2012-10-03 11:29Peter KuemmelTarget Version => CMake 2.8.10
2012-10-03 11:30Peter KuemmelNote Added: 0031165
2012-10-05 11:34Peter KuemmelNote Added: 0031183
2012-10-05 11:34Peter KuemmelStatusassigned => resolved
2012-10-05 11:34Peter KuemmelFixed in Version => CMake 2.8.10
2012-10-05 11:34Peter KuemmelResolutionopen => fixed
2013-03-04 08:38Robert MaynardNote Added: 0032468
2013-03-04 08:38Robert MaynardStatusresolved => closed

Notes
(0031165)
Peter Kuemmel   
2012-10-03 11:30   
http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=188c73cb749ae0b248df05baf9ea6227b54864da [^]
(0031183)
Peter Kuemmel   
2012-10-05 11:34   
no problems on cdash
(0032468)
Robert Maynard   
2013-03-04 08:38   
Closing resolved issues that have not been updated in more than 4 months.