aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2010-12-20 05:20:21 +0100
committerPřemysl Janouch <p.janouch@gmail.com>2010-12-20 05:20:21 +0100
commit9dc18220400d9a6f4fe3e65ba73d77f4844d249a (patch)
tree1b30d6221c167df02c345dde1acf4da18ee621ff /CMakeLists.txt
parentb44b3e6a544c239e7581c72e73b4c5b089ffcff0 (diff)
downloadlogdiag-9dc18220400d9a6f4fe3e65ba73d77f4844d249a.tar.gz
logdiag-9dc18220400d9a6f4fe3e65ba73d77f4844d249a.tar.xz
logdiag-9dc18220400d9a6f4fe3e65ba73d77f4844d249a.zip
Fix problems discovered while testing on Windows.
* Set the working directory for glib-genmarshal correctly. * Use one more path suffix when searching for glibconfig.h. * Don't assume that gdk_screen_get_resolution() returns a useful value.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt11
1 files changed, 10 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aba8443..fc9bfc6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,7 +123,16 @@ function (glib_genmarshal base prefix)
set (command_base ${GLIB_GENMARSHAL_EXECUTABLE}
--prefix ${prefix} "${base_name}.list")
- # NOTE: VERBATIM may cause problems, so it is not used here
+ # On Windows, the final makefile may contain:
+ # cd e:\abc && ...
+ # That won't actually change the directory. We have to do:
+ # cd e:\abc && e: && ...
+ if (WIN32 AND "${base_path}" MATCHES "^.:[/\\\\]")
+ string (SUBSTRING "${base_path}" 0 2 base_drive)
+ set (command_base "${base_drive}" && "${command_base}")
+ endif (WIN32 AND "${base_path}" MATCHES "^.:[/\\\\]")
+
+ # NOTE: VERBATIM would cause problems, so it is not used here
add_custom_command (OUTPUT ${base}.c
COMMAND ${command_base} --body > "${base_name}.c"
DEPENDS "${base}.list"