awesome

Welcome to awesome bug tracking system.
Tasklist

FS#869 - awesome does not build with cmake 2.8.4

Attached to Project: awesome
Opened by xduugu (xduugu) - Thursday, 17 February 2011, 16:02 GMT
Last edited by Uli Schlachter (psychon) - Monday, 21 February 2011, 17:09 GMT
Task Type Bug Report
Category Build system
Status Closed
Assigned To No-one
Operating System All
Severity Medium
Priority Normal
Reported Version 3.4.8
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

awesome (3.4.9) does not build with the latest cmake release (2.8.4).

------------------------------------------------------------------------------------
Running make Makefileā€¦
Buildingā€¦
Scanning dependencies of target generated_sources
Scanning dependencies of target luadoc
Scanning dependencies of target generated_icons
[ 0%] make[3]: *** No rule to make target `themes/zenburn/titlebar/ontop_normal_active.png', needed by `CMakeFiles/generated_icons'. Stop.
make[2]: *** [CMakeFiles/generated_icons.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 0%] Generating atoms-intern.h
Generating atoms-extern.h
[ 0%] Generating common/tokenize.c
[ 0%] Generating common/tokenize.h
[ 0%] Built target luadoc
[ 4%] Built target generated_sources
make[1]: *** [all] Error 2
make: *** [cmake-build] Error 2
Aborting...

You are about to report a bug.
------------------------------------------------------------------------------------


I'm not sure if this is a cmake bug or it is in the awesome build system. However, it seems that the relative path (probably generated by file(GLOB ...)) is incorrect.


From build/CMakeFiles/generated_icons.dir/build.make:
------------------------------------------------------------------------------------
# Utility rule file for generated_icons.

CMakeFiles/generated_icons: ../themes/zenburn/titlebar/ontop_focus_active.png
CMakeFiles/generated_icons: ../themes/zenburn/titlebar/sticky_focus_active.png
CMakeFiles/generated_icons: ../themes/zenburn/titlebar/close_focus.png
CMakeFiles/generated_icons: ../themes/zenburn/titlebar/maximized_focus_active.png
CMakeFiles/generated_icons: ../themes/zenburn/titlebar/floating_focus_active.png
CMakeFiles/generated_icons: ../themes/default/titlebar/ontop_focus_active.png
CMakeFiles/generated_icons: ../themes/default/titlebar/sticky_focus_active.png
CMakeFiles/generated_icons: ../themes/default/titlebar/close_focus.png
CMakeFiles/generated_icons: ../themes/default/titlebar/maximized_focus_active.png
CMakeFiles/generated_icons: ../themes/default/titlebar/floating_focus_active.png
CMakeFiles/generated_icons: themes/zenburn/titlebar/ontop_normal_active.png
CMakeFiles/generated_icons: themes/zenburn/titlebar/sticky_normal_active.png
CMakeFiles/generated_icons: themes/zenburn/titlebar/close_normal.png
------------------------------------------------------------------------------------
This task depends upon

Closed by  Uli Schlachter (psychon)
Monday, 21 February 2011, 17:09 GMT
Reason for closing:  Fixed
Additional comments about closing:  Thanks a ton for the patch!

commit 8b6adbffead83c9d77c493174d0f5b6a97f2a9e9
Author: Thomas Moschny <thomas.moschny@gmx.de>
Date: Mon Feb 21 17:58:04 2011 +0100

Normalize icon path names (fixes #869).

The elements in ${icon_sources}, as returned by file(GLOB ...) contain
double slashes, could be a bug in cmake. This causes building with
cmake 2.8.4 to fail, due to dependency problems lateron.

This patch works around the issue by normalizing all path names in
${icon_sources} while appending them to ${ALL_ICONS}, thereby removing
the double slashes.
Comment by Uli Schlachter (psychon) - Thursday, 17 February 2011, 16:31 GMT
My generated_icons.dir/build.make contains the same entries (plus some more?)

Could you add the following to CMakeLists.txt around line 267, next to the add_custom_command() call that calls ${CONVERT_EXECUTABLE}?

message("custom command")
message("${input}")
message("${ARGN}")
message("${output}")

For me, this produces output like the following:

custom command
themes/zenburn//titlebar//sticky_focus_active.png
-gamma;0.6;-channel;A;-evaluate;Multiply;0.4
themes/zenburn//titlebar//sticky_normal_active.png
custom command
themes/zenburn//titlebar//ontop_focus_active.png
-gamma;0.6;-channel;A;-evaluate;Multiply;0.4
themes/zenburn//titlebar//ontop_normal_active.png
custom command
themes/zenburn//titlebar//maximized_focus_active.png
-gamma;0.6;-channel;A;-evaluate;Multiply;0.4
themes/zenburn//titlebar//maximized_normal_active.png
[...]
Comment by xduugu (xduugu) - Thursday, 17 February 2011, 19:09 GMT
> My generated_icons.dir/build.make contains the same entries (plus some more?)
Yeah, I've trimmed the list a bit, but these lines seem to be fine. At least, they are also present in the cmake-2.8.3 Makefile.

> Could you add the following to CMakeLists.txt around line 267, next to the add_custom_command() call that calls ${CONVERT_EXECUTABLE}?
I get the same output as you. (see cmake_output.txt)


The other attached file, cmake.diff, is a diff between cmake 2.8.3 and cmake 2.8.4 'generated_icons.dir' folders. For some reason, 2.8.4 does not generate several icon related rules.
Comment by Thomas Moschny (thm) - Monday, 21 February 2011, 15:27 GMT
The attached patch fixes the issue for me. It normalizes all icon path names, i.e. removes those double slashes which seem to cause the problem. Not sure whether that originally is a cmake problem.
Comment by Thomas Moschny (thm) - Monday, 21 February 2011, 17:01 GMT
Same patch in git-format.
Comment by xduugu (xduugu) - Monday, 21 February 2011, 17:09 GMT
Thanks a lot. Seems to work with both 2.8.3 and 2.8.4.

Loading...