View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011926CMakeCMakepublic2011-03-03 20:092011-06-17 18:28
Reporterhkrishna 
Assigned ToAlex Neundorf 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformAllOSAllOS VersionAll
Product VersionCMake 2.8.4 
Target VersionCMake 2.8.5Fixed in VersionCMake 2.8.5 
Summary0011926: use_mangled_mesa as a scriptable operation
DescriptionHi All,

I would like to be able to script the cmake compatibility command

specifically use_mangle_mesa(mesapath/include/GL some_other_path) and optionally any other command that may be relevant for scripting if it reasonably feasable.

For example:

%cat scriptfile
cmake_minimum_required(VERSION 2.8)
use_mangled_mesa(mesapath/include/GL some_other_path)
%cmake -P scriptfile

Ultimately it would be nice to do
echo 'cmake_minimum_required(VERSION 2.8)\nuse_mangled_mesa(mesapath/include/GL some_other_path)' | cmake -P /dev/stdin
or even
echo 'use_mangled_mesa(mesapath/include/GL some_other_path)' | cmake -P /dev/stdin

The error from both these methods:
 
CMake Error at /dev/stdin:1 (use_mangled_mesa):
  Command use_mangled_mesa() is not scriptable

is there a reason why the function use_mangled_mesa is not scriptable?

My current solution is to create a tmp directory and a CMakeLists.txt with the contents of use_mangled_mesa then execute it using cmake.

%cat CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
use_mangled_mesa(mesapath/include/GL some_other_path)
%cmake .

This operation seems overkill for what I would like to do as it generates CMakeFiles, CmakeCache.txt, and other files. Are there other alternatives that do not require running a full cmake on CMakeLists.txt in order to run a simple cmake compatibility command operation?

A simple test that I can currently perform:
echo 'cmake_minimum_required(VERSION 2.8)\nMESSAGE( "${INPUT_X}" )' | cmake -DINPUT_X=abc -P /dev/stdin
or
echo 'MESSAGE( "${INPUT_X}" )' | cmake -DINPUT_X=abc -P /dev/stdin
and I get a correct response from cmake. I would like to replace MESSAGE with use_mangled_mesa.

 
Thanks,
Hari
Steps To Reproduce%cat scriptfile
cmake_minimum_required(VERSION 2.8)
use_mangled_mesa(mesapath/include/GL some_other_path)
%cmake -P scriptfile

or

%echo 'cmake_minimum_required(VERSION 2.8)\nuse_mangled_mesa(mesapath/include/GL some_other_path)' | cmake -P /dev/stdin

or
echo 'use_mangled_mesa(mesapath/include/GL some_other_path)' | cmake -P /dev/stdin

The error from both these methods:
 
CMake Error at /dev/stdin:1 (use_mangled_mesa):
  Command use_mangled_mesa() is not scriptable
Additional InformationAlexander Neundorf asked me to add this request to the cmake bug tracker.

Thanks!
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0025670)
hkrishna (reporter)
2011-03-04 14:15

It seems that in some machines echo can parse newlines and on others it requires a -e option.

If the examples I gave do not work then add 'echo -e' to see if that fixes the issue.

Thanks!
(0025750)
Alex Neundorf (developer)
2011-03-10 15:48

Done and pushed to next. Should be in 2.8.5.

Alex

 Issue History
Date Modified Username Field Change
2011-03-03 20:09 hkrishna New Issue
2011-03-04 14:15 hkrishna Note Added: 0025670
2011-03-07 16:05 Alex Neundorf Assigned To => Alex Neundorf
2011-03-07 16:05 Alex Neundorf Status new => assigned
2011-03-10 15:48 Alex Neundorf Note Added: 0025750
2011-03-10 15:48 Alex Neundorf Status assigned => closed
2011-03-10 15:48 Alex Neundorf Resolution open => fixed
2011-03-10 15:48 Alex Neundorf Steps to Reproduce Updated
2011-06-17 18:28 David Cole Fixed in Version => CMake 2.8.5
2011-06-17 18:28 David Cole Target Version => CMake 2.8.5


Copyright © 2000 - 2018 MantisBT Team