Matthew Woehlke wrote:
Trevor Kellaway wrote:
Hi,
The following snippet will send the strings "1", "2" and "3" to the messages console, each of them on its own line:

  SET(FOO "1 2 3")
  STRING(REPLACE " " ";" FOO_LIST "${FOO}")
  FOREACH(item ${FOO_LIST})
    MESSAGE(${item})
  ENDFOREACH(item ${FOO_LIST})

The "Mastering CMake" book (recommended) also claims you can use this
(although I haven't tried it):

    SEPARATE_ARGUMENTS(VARIABLE)

Alas, that is no more effective than STRING(REPLACE " " ";" FOO ${FOO}), as Thomas suggested (and which I am currently using)... although, it probably *should* be.
I think you are going to have to use regular expressions. You can look at the new pkgconfig stuff in CVS CMake:

http://www.cmake.org/cgi-bin/viewcvs.cgi/Modules/FindPkgConfig.cmake?rev=1.3&root=CMake&view=auto
It does something like this:

  _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES           
"(^| )-l" --libs-only-l )
     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS     
   "(^| )-L" --libs-only-L )
     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS          
   ""        --libs )
     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER    
   ""        --libs-only-other )

     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS     
   "(^| )-I" --cflags-only-I )
     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS           
   ""        --cflags )
     _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER     
   ""        --cflags-only-other )


-Bill


_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to