Salvatore Iovene wrote:
On Nov 21, 2007 4:46 PM, James Bigler <[EMAIL PROTECTED]> wrote:
shell-independent way. Maybe there's a way to execute the `hostname`
command?
Ok, I see now. HOSTNAME is a shell variable, but not an environment
variable. Check this thread here:

http://lists.freebsd.org/pipermail/freebsd-questions/2004-July/052424.html

So, is there another way I could get the hostname in CMake?
I would do what was suggested and call 'hostname' with EXECUTE_PROCESS()
(see cmake documentation).

Thanks, that works, but the OUTPUT_VARIABLE has a trailing \n. How can
I get rid of it?

Try using a string replacement or the OUTPUT_STRIP_TRAILING_WHITESPACE argument to EXECUTE_PROCESS:

################################################3
###  Run with cmake -P hostname.cmake

EXECUTE_PROCESS( COMMAND hostname
                 OUTPUT_VARIABLE myhostname
                )

MESSAGE("myhostname = \"${myhostname}\"")

STRING(REPLACE "\n" "" new_hostname ${myhostname})

MESSAGE("new_hostname = \"${new_hostname}\"")

# Or use the handy dandy OUTPUT_STRIP_TRAILING_WHITESPACE argument
# to EXECUTE_PROCESS
EXECUTE_PROCESS( COMMAND hostname
                 OUTPUT_VARIABLE myhostname2
                 OUTPUT_STRIP_TRAILING_WHITESPACE
                )

MESSAGE("myhostname2 = \"${myhostname2}\"")

####################################################

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

Reply via email to