On Sat, Mar 21, 2009 at 10:01 PM, Robert Dailey <[email protected]> wrote:
> On Sat, Mar 21, 2009 at 7:42 PM, Philip Lowman <[email protected]> wrote: > >> On Sat, Mar 21, 2009 at 8:00 PM, Robert Dailey <[email protected]>wrote: >> >>> I currently have the following macro: >>> >>> macro( get_conf_dependencies var_name project_name debug ) >>> if( debug ) >>> message( "Using DEBUG" ) >>> set( ${var_name} ${${project_name}_DEBUG_DEPENDENCIES} ) >>> else() >>> set( ${var_name} ${${project_name}_RELEASE_DEPENDENCIES} ) >>> endif() >>> endmacro() >>> I then call the macro in two particular ways: >>> get_conf_dependencies( myVar myProject TRUE ) >>> get_conf_dependencies( myVar myProject FALSE ) >>> In both cases, I *do not* get the message "Using DEBUG". Are my eyes >>> playing tricks on me, or is CMake not processing trivial boolean logic >>> properly in its conditionals? I'm using version 2.6.3. >>> >> >> I ran into the same issue a while back. Use a function() or actual >> variables in your call to get_conf_dependencies. >> http://public.kitware.com/Bug/view.php?id=8397 >> > > What do you mean by "actual variables"? > You could do this: set(myBool TRUE) get_conf_dependencies(myVar myProject myBool) ...provided you change "if(debug)" to "if(${debug})" in your macro. Making it a function() and using PARENT_SCOPE is probably a cleaner option: set( ${var_name} ${${project_name}_RELEASE_DEPENDENCIES} PARENT_SCOPE) -- Philip Lowman
_______________________________________________ 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
