Am Freitag 30 Mai 2008 20:36:02 schrieb Bill Hoffman: > Stefan Buschmann wrote: > > Thanks! I finally got it to work now. The problem was that invoking the > > script does not really "export" the variables to the shell - so in my > > own tests, "cmake" had it's environment variables set right, because I > > invoked it directly from the script, but when running "make" later, the > > variables were not set. I'm now exporting all those variables directly > > in my .bashrc file - is there a better way to invoke the script? > > No, you have to have the shell setup with a working cl for things to > work... > > I just source a file that has the values in it each time I start a > shell. Something like: > > . ~/vsEnv > > That will put the exports into the current shell. > > -Bill
I made a copy of the cygwin starter .bat, called it cygwin_vs2005.bat and added call C:\path\to\vcvars32.bat This sets all variables to get cl to work and one hasn't to take care about changing variable naming policies. While this work at command line, the following works nicely with Visual Studio Makefiles projects: create a .bat file i.e. set_vars.bat {{{ call C:\path\to\vcvars32.bat set PATH=%PATH%;C:\path\to\cygwin\bin set CC=cl set CXX=cl rem set CFLAGS=whatever rem set CXXFLAGS=whatever }}} Now Visual Studio can call i.e. {{{set_vars.bat && sh -c "cd build && make"}}} Or even better, place a cygwin.mk at the toplevel of you cmake project containing i.e. {{{ pwd=$(shell cygpath -d `pwd`) BUILD_DIR=Debug CMAKE_EXE=/path/to/cmake CMAKE_ARGS= -G"Unix Makefiles" CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=$(BUILD_DIR) CMAKE_ARGS+= -DCMAKE_VERBOSE_MAKEFILE=on CMAKE_ARGS+= -DCMAKE_INSTALL_PREFIX=$(pwd)/stage #change to "all: #$(BUILD_DIR)/CMakeCache.txt" if configured proper all: $(BUILD_DIR)/CMakeCache.txt cd $(BUILD_DIR) && $(MAKE) $(BUILD_DIR)/CMakeCache.txt: $(BUILD_DIR) cd $(BUILD_DIR) && $(CMAKE_EXE) $(CMAKE_ARGS) ../ $(BUILD_DIR): mkdir $(BUILD_DIR) }}} Now Visual Studio can trigger this by {{{set_vars.bat && sh -c "make -f cygwin.mk all"}}} and if you got a quad core this {{{set_vars.bat && sh -c "make -j5 -f cygwin.mk all"}}} might be helpful :) Best, -- Maik _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake