[cmake-developers] [CMake 0011926]: use_mangled_mesa as a scriptable operation

Mantis Bug Tracker mantis at public.kitware.com
Thu Mar 3 20:09:05 EST 2011


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=11926 
====================================================================== 
Reported By:                hkrishna
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   11926
Category:                   CMake
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-03-03 20:09 EST
Last Modified:              2011-03-03 20:09 EST
====================================================================== 
Summary:                    use_mangled_mesa as a scriptable operation
Description: 
Hi 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 Information: 
Alexander Neundorf asked me to add this request to the cmake bug tracker.

Thanks!
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-03-03 20:09 hkrishna       New Issue                                    
======================================================================




More information about the cmake-developers mailing list