My stumbling blocks are the use of keywords instead of operators... if( Something == ${SomeOtherThing} ) vs if( Something STREQUAL ${SomeOtherTHing} )
It might be nice if the operator '=' could be used in addition to the function SET() SET( a something ) becomes A = something Was gong to say 'I understand that it would be difficult' but ... not really, if the first word isn't a 'keyword' (Function/Macro name) then if the next token is a = instead of a ( then assume it's a SET .... ----- Re: "no return values for functions" that's not true... this script sets the return value just fine... --- cmake_minimum_required( VERSION 3.0 ) macro( SomeFunc ReturnVal ) set( ${ReturnVal} SomeResult ) endmacro( SomeFunc ) SomeFunc( RetVal ) message( "and we have a result of " ${RetVal} ) ---- output : and we have a result of SomeResult ------------- J/K : I think the alternative language should be LISP; oh wait that's already what it is. other than the function is outside of the parens One of the last comments mentioned something about.... the named parameters passed to methods like SET_TARGET_PROPERTIES(${project} PROPERTIES FOLDER utils COMPILE_DEFINTIIONS "SomeOtherSyms" ) Is at first a little confusing... but at least I don't have some required order where I have to isnert a bunch of blank ',,,,,,' to get to the option I want to use. It might be nice if there were methods to define your own syntax for these things for use in passing options to MACRO where as you iterate through the ARGN members it can trigger some sort of state table lookup/dispatch... but then I really don't have a use for such a thing in the reality of switching to cmake maybe 5 years ago. Re: Profile-ability of CMake. I haven't yet found anywhere that I would blame any part of the build process slowness on CMAKE, but rather on the build tools themselves (CygWin or MinGW for instances). Although... there is One project I often rebuild (OpenAL) which uses a bunch of CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) which seems to be pretty slow. But Really, I think the target rules would be better to test CMAKE_COMPILER_IS_ and WIN32/UNIX variables to get that result. There's certainly less permutations to test that way than testing for each function that might exist; since the variations are limited to environments (each generator) with perhaps a minor off case for some toolchains. But I guess that was put in to satisy autotool people coming to a different build system. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers