On Mon, Jan 17, 2011 at 3:13 AM, Kristian Lyngstol
<[email protected]> wrote:
> ... Your revert re-introduces a problem that hasn't been fixed.
>
> I'm not saying that this isn't a problem elsewhere, but it manifests in
> colorfilter and so far only there. If you care to explain how exactly the
> colorfilter plugin can find the DATADIR definition, I can check.

Sure.

So CompizPlugin is a bit of an "extendable" build system in that
plugins might require certain things to be installed in certain placed
and certain data to be available to other bits of core at build time
(needed for compiling plugins into core).

Data installation is actually done as one of these extensions (as part
of my efforts to de-complicate the build system with hacks in the core
buildsystem for every other plugin). So it does something like this:

# find extension files
        file (GLOB _extension_files
"${COMPIZ_CMAKE_MODULE_PATH}/plugin_extensions/*.cmake")

This looks in the cmake module path subdir plugin_extensions for any
*.cmake files which tell core how to install certain other files.
(There is no sense installing things like icons, data, etc if there is
nothing that is going to be using them). Here it should find a
CompizGenInstallData.cmake file which will tell CompizPlugin how to
install these magical "data" files correctly and also how to add the
correct definitions for this. That file should find a /data directory
in your plugin and set the appropriate installation paths as well as a
-DDATADIR to your definitions file.

If it does not work for you, I would say that you need to run sudo
make findcompiz_install in your core directory again (since this was
updated to make this work) or there is a bug and that's something for
me to figure out.

In any case, adding the definition directly into the colorfilter
plugin is incorrect and is only a workaround to some other issue that
you are having.

Cheers,

Sam

>
> I don't think it's very reasonable to just write this off as "Kristian
> can't manage a build system!" and revert what provably fixes a problem.
> Keep in mind that we already discussed this and I checked the cryptic build
> system that's supposed to do this, and I did find the definitions on my
> system, so this isn't just core being out of sync for example. In fact, I
> spent a couple HOURS checking before I even did the initial commit, because
> I assumed that this was supposed to come from somewhere else. But it
> didn't.
>
> It would be nice if we could avoid commit-wars like that, so I'm not going
> to re-apply my local fix. But I would like an explanation as to where
> DATADIR is set and _exactly_ how it propagates to the colorfilter plugin.
> Otherwise it's hard to fix the real issue at hand. While I have already
> read large amounts of commit logs and cmakelists that relates, it's time
> you explained it since you are reverting what fixes a problem on my end.
>
> This is what I'm talking about:
>
> kristian@luke:~/.../plugins-main/build$ make
> [  4%] Built target winrules
> [  8%] Built target mousepoll
> [ 10%] Built target text
> [ 14%] Built target thumbnail
> [ 17%] Built target shift
> [ 21%] Built target snap
> [ 24%] Built target ring
> [ 27%] Built target neg
> [ 30%] Built target wall
> [ 33%] Built target kdecompat
> [ 37%] Built target workarounds
> [ 41%] Built target scaleaddon
> [ 45%] Built target imgjpeg
> [ 46%] Building CXX object
> colorfilter/CMakeFiles/colorfilter.dir/src/parser.cpp.o
> /home/kristian/Source/compiz/plugins-main/colorfilter/src/parser.cpp: In
> member function ‘CompString FragmentParser::programReadSource(const
> CompString&)’:
> /home/kristian/Source/compiz/plugins-main/colorfilter/src/parser.cpp:107:
> error: ‘DATADIR’ was not declared in this scope
> make[2]: *** [colorfilter/CMakeFiles/colorfilter.dir/src/parser.cpp.o]
> Error 1
> make[1]: *** [colorfilter/CMakeFiles/colorfilter.dir/all] Error 2
> make: *** [all] Error 2
>
> And:
>
> commit 75ebe33fa30ef779abf92420429008f5ffdea666
> Author: Sam Spilsbury <[email protected]>
> Date:   Sun Nov 14 11:51:51 2010 +0800
>
>    CompizPlugin automatically sets DATADIR to whereever you installed the
>    plugin, no need t
>
>    Revert "Add the DATADIR definition to CMakeLists"
>
>    This reverts commit dd26a937f3cb7a132aacfd07628497b30c832a5b.
>
> commit 1558409a93f0f5803a0d6441ac6dcbff7dfaeff0
> Merge: 46bc7db dd26a93
> Author: Sam Spilsbury <[email protected]>
> Date:   Sun Nov 14 11:51:19 2010 +0800
>
>    Merge branch 'master' of
>    git+ssh://git.opencompositing.org/git/compiz/plugins/colorfilte
>
> commit dd26a937f3cb7a132aacfd07628497b30c832a5b
> Author: Kristian Lyngstol <[email protected]>
> Date:   Sat Nov 13 20:57:18 2010 +0100
>
>    Add the DATADIR definition to CMakeLists
>
>    Hopefully, this, is reasonably correct.
>
>
> Regards,
> Kristian
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iQEcBAEBAgAGBQJNM0NHAAoJEIC1IG5rXEfqk6AIAKEgdwxuc5g8Y8PdqL5Ug/SK
> EpJLEJspn4nJ3igaDCu1ISTX7XQZDp1gZPfn2L7lIWPZ8JOHmj7Rax0N4/+fhEXp
> IL+HAzs1RIl/Pd2unx00tzHCrUcakhH/DV77yuV1cdW5Qkq1E/xuphrIOahW1pWz
> eZKOvJOJzKUwP7FIPJ93Y0bjkKJQYLOCnGIN/Ztxbc4NZje0J4VaTQBemMN2rH1N
> Y6TBxAFiErdwLXUg3cEv0CZIFr88TsqVd63z3FARtb/R+A+VeyPGMfRo4cJ0/VDA
> 6BxdJEfHUAEhMIZVz16NSLS2ri0WLJQO51GBQqJ0vNXCZWVBEz/fbeMPsiTNpGM=
> =Xpa5
> -----END PGP SIGNATURE-----
>
>



-- 
Sam Spilsbury
_______________________________________________
dev mailing list
[email protected]
http://lists.compiz.org/mailman/listinfo/dev

Reply via email to