[EFL] Rewrite the EFL-related Find modules
authorrakuco@webkit.org <rakuco@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Sep 2012 15:33:04 +0000 (15:33 +0000)
committerrakuco@webkit.org <rakuco@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Sep 2012 15:33:04 +0000 (15:33 +0000)
commit9b48b4358de45ab392019a726671891bd51abaf1
tree9039d4764b96a0ac8018c28444eb6f8286ef1629
parent5550ca83fb34d8e29b055eb856b4a4bb5b96d142
[EFL] Rewrite the EFL-related Find modules
https://bugs.webkit.org/show_bug.cgi?id=95237

Reviewed by Kenneth Rohde Christiansen.

.:

FindEFL.cmake had several problems which caused unnecessary trouble
when building the EFL port under some setups:

o It looked for some modules (such as ecore) more than once for no
reason, which led to people adding libraries and include paths in
different ways across the build system.

o It depended on pkg-config being present for the searches to
succeed.

o It obtained the library definitions from pkg-config, so
${FOO_LIBRARIES} would be set to something like "foo;bar" which
expanded to "-lfoo -lbar" to the linker. If a wrong -L<path> was
passed before that, the wrong library installation would end up
being picked up.

o Due to the problem above, we also needed to set the LINK_FLAGS
property for each target with the value of ${FOO_LDFLAGS}, which was
also obtained from pkg-config and sort of compensated the fact that
the libraries did not use absolute paths and added the required -L
paths. This also included dependencies for these libraries, so we
ended up including libraries indirectly, which is bad.

We have now replaced that file with a set of Find-modules which are
much more granular, each of them responsible for looking for a
single library and its components and setting library and include
locations the right way (with FIND_PATH() and FIND_LIBRARY()), so
that all the problems above are fixed.

* Source/cmake/EFLHelpers.cmake: Added.
* Source/cmake/FindEDBus.cmake: Added.
* Source/cmake/FindEFL.cmake: Removed.
* Source/cmake/FindEcore.cmake: Added.
* Source/cmake/FindEdje.cmake: Added.
* Source/cmake/FindEeze.cmake: Added.
* Source/cmake/FindEfreet.cmake: Added.
* Source/cmake/FindEina.cmake: Added.
* Source/cmake/FindEvas.cmake: Added.
* Source/cmake/OptionsEfl.cmake:

Source/JavaScriptCore:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Ditto.
* shell/PlatformEfl.cmake: Ditto.

Source/WebCore:

* CMakeLists.txt: Stop setting the LINK_FLAGS property now that no
port sets WebCore_LINK_FLAGS.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Source/WebKit:

* PlatformEfl.cmake: Stop setting the LINK_FLAGS property and add
libraries and include directories for each Enlightenment
Foundation Library used by the port.

Source/WebKit2:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Source/WTF:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Tools:

* DumpRenderTree/efl/CMakeLists.txt: Stop setting the LINK_FLAGS
property and include all the Enlightenment Foundation Libraries
required by the target.
* EWebLauncher/CMakeLists.txt: Ditto.
* MiniBrowser/efl/CMakeLists.txt: Ditto.
* TestWebKitAPI/PlatformEfl.cmake: Add missing include directories
now that they are not added implicitly.
* WebKitTestRunner/CMakeLists.txt: Stop setting the LINK_FLAGS
property.
* WebKitTestRunner/PlatformEfl.cmake: Stop setting the LINK_FLAGS
property and include all the Enlightenment Foundation Libraries
required by the target.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@128191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
33 files changed:
ChangeLog
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/PlatformEfl.cmake
Source/JavaScriptCore/shell/PlatformEfl.cmake
Source/WTF/ChangeLog
Source/WTF/wtf/CMakeLists.txt
Source/WTF/wtf/PlatformEfl.cmake
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/PlatformEfl.cmake
Source/WebKit/ChangeLog
Source/WebKit/PlatformEfl.cmake
Source/WebKit2/CMakeLists.txt
Source/WebKit2/ChangeLog
Source/WebKit2/PlatformEfl.cmake
Source/cmake/EFLHelpers.cmake [new file with mode: 0644]
Source/cmake/FindEFL.cmake [deleted file]
Source/cmake/FindE_DBus.cmake [new file with mode: 0644]
Source/cmake/FindEcore.cmake [new file with mode: 0644]
Source/cmake/FindEdje.cmake [new file with mode: 0644]
Source/cmake/FindEeze.cmake [new file with mode: 0644]
Source/cmake/FindEfreet.cmake [new file with mode: 0644]
Source/cmake/FindEina.cmake [new file with mode: 0644]
Source/cmake/FindEvas.cmake [new file with mode: 0644]
Source/cmake/OptionsEfl.cmake
Tools/ChangeLog
Tools/DumpRenderTree/efl/CMakeLists.txt
Tools/EWebLauncher/CMakeLists.txt
Tools/MiniBrowser/efl/CMakeLists.txt
Tools/TestWebKitAPI/PlatformEfl.cmake
Tools/WebKitTestRunner/CMakeLists.txt
Tools/WebKitTestRunner/PlatformEfl.cmake