[GTK] The list of features shown by cmake is not accurate
authorcarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Jul 2014 13:36:45 +0000 (13:36 +0000)
committercarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Jul 2014 13:36:45 +0000 (13:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=134588

Reviewed by Gustavo Noronha Silva.

The problem is that some options might change after the feature
list has been printed.

* Source/cmake/OptionsGTK.cmake: Find package dependencies before
setting the default values of features and set WEBGL value
depending on the dependencies, and API_TEST depending on whether
developer mode is enabled or not.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/cmake/OptionsGTK.cmake

index a5d8c7d..1bc3328 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2014-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] The list of features shown by cmake is not accurate
+        https://bugs.webkit.org/show_bug.cgi?id=134588
+
+        Reviewed by Gustavo Noronha Silva.
+
+        The problem is that some options might change after the feature
+        list has been printed.
+
+        * Source/cmake/OptionsGTK.cmake: Find package dependencies before
+        setting the default values of features and set WEBGL value
+        depending on the dependencies, and API_TEST depending on whether
+        developer mode is enabled or not.
+
 2014-07-03  Ryuan Choi  <ryuan.choi@samsung.com>
 
         [CMAKE] Add WEBKIT_OPTION_DEPEND macro to resolve macro dependency
index de48504..abcc23c 100644 (file)
@@ -14,11 +14,45 @@ CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 17 0 17)
 set(ENABLE_CREDENTIAL_STORAGE ON CACHE BOOL "Whether or not to enable support for credential storage using libsecret.")
 set(ENABLE_GTKDOC OFF CACHE BOOL "Whether or not to use generate gtkdoc.")
 
-# FIXME: We want to expose fewer options to downstream, but for now everything is public.
+find_package(Cairo 1.10.2 REQUIRED)
+find_package(Fontconfig 2.8.0 REQUIRED)
+find_package(Freetype2 2.4.2 REQUIRED)
+find_package(GTK2 2.24.10 REQUIRED)
+find_package(GDK2 2.24.10 REQUIRED)
+find_package(HarfBuzz 0.9.2 REQUIRED)
+find_package(ICU REQUIRED)
+find_package(JPEG REQUIRED)
+find_package(LibSoup 2.40.3 REQUIRED)
+find_package(LibXml2 2.8.0 REQUIRED)
+find_package(LibXslt 1.1.7 REQUIRED)
+find_package(PNG REQUIRED)
+find_package(Sqlite REQUIRED)
+find_package(Threads REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(ATK REQUIRED)
+find_package(WebP REQUIRED)
+find_package(ATSPI 2.5.3)
+find_package(GObjectIntrospection)
+find_package(OpenGL)
+find_package(EGL)
+
 WEBKIT_OPTION_BEGIN()
+if (OPENGL_FOUND AND (GLX_FOUND OR EGL_FOUND))
+      WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON)
+endif ()
+
+if (DEVELOPER_MODE)
+    set(ENABLE_TOOLS ON)
+    WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS ON)
+else ()
+    set(ENABLE_TOOLS OFF)
+    WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS OFF)
+    set(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_SOURCE_DIR}/Source/autotools/symbols.filter")
+endif ()
+
+# FIXME: We want to expose fewer options to downstream, but for now everything is public.
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_DEVICE_ADAPTATION ON)
@@ -61,10 +95,10 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_TIMEOUT ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_PROCESS ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE OFF)
+WEBKIT_OPTION_END()
 
 set(ENABLE_X11_TARGET ON CACHE BOOL "Whether to enable support for the X11 windowing target.")
 set(ENABLE_WAYLAND_TARGET OFF CACHE BOOL "Whether to enable support for the Wayland windowing target.")
@@ -81,17 +115,6 @@ if (ENABLE_WAYLAND_TARGET)
     add_definitions(-DWTF_PLATFORM_WAYLAND=1)
 endif ()
 
-if (DEVELOPER_MODE)
-    set(ENABLE_TOOLS ON)
-    set(ENABLE_API_TESTS ON)
-else ()
-    set(ENABLE_TOOLS OFF)
-    set(ENABLE_API_TESTS OFF)
-    set(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_SOURCE_DIR}/Source/autotools/symbols.filter")
-endif ()
-
-WEBKIT_OPTION_END()
-
 set(ENABLE_WEBCORE ON)
 set(ENABLE_INSPECTOR ON)
 set(ENABLE_WEBKIT OFF)
@@ -150,26 +173,6 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
     endif ()
 endif ()
 
-find_package(Cairo 1.10.2 REQUIRED)
-find_package(Fontconfig 2.8.0 REQUIRED)
-find_package(Freetype2 2.4.2 REQUIRED)
-find_package(GTK2 2.24.10 REQUIRED)
-find_package(GDK2 2.24.10 REQUIRED)
-find_package(HarfBuzz 0.9.2 REQUIRED)
-find_package(ICU REQUIRED)
-find_package(JPEG REQUIRED)
-find_package(LibSoup 2.40.3 REQUIRED)
-find_package(LibXml2 2.8.0 REQUIRED)
-find_package(LibXslt 1.1.7 REQUIRED)
-find_package(PNG REQUIRED)
-find_package(Sqlite REQUIRED)
-find_package(Threads REQUIRED)
-find_package(ZLIB REQUIRED)
-find_package(ATK REQUIRED)
-find_package(WebP REQUIRED)
-find_package(ATSPI 2.5.3)
-find_package(GObjectIntrospection)
-
 if (ENABLE_WAYLAND_TARGET)
     set(GTK3_REQUIRED_VERSION 3.12.0)
 else ()
@@ -209,8 +212,6 @@ if (ENABLE_CREDENTIAL_STORAGE)
     set(ENABLE_CREDENTIAL_STORAGE 1)
 endif ()
 
-find_package(OpenGL)
-
 # This part can be simplified once CMake 2.8.6 is required and
 # CMakePushCheckState can be used. We need to have OPENGL_INCLUDE_DIR as part
 # of the directories check_include_files() looks for in case OpenGL is
@@ -227,7 +228,6 @@ if (ENABLE_X11_TARGET)
     endif ()
 endif ()
 
-find_package(EGL)
 if (EGL_FOUND)
     set(WTF_USE_EGL 1)
 endif ()
@@ -237,7 +237,6 @@ if (ENABLE_SPELLCHECK)
 endif ()
 
 if (OPENGL_FOUND AND (GLX_FOUND OR EGL_FOUND))
-    set(ENABLE_WEBGL 1)
     set(ENABLE_TEXTURE_MAPPER 1)
     set(WTF_USE_3D_GRAPHICS 1)