|
From: <ai...@us...> - 2014-03-21 20:40:50
|
Revision: 13084
http://sourceforge.net/p/plplot/code/13084
Author: airwin
Date: 2014-03-21 20:40:45 +0000 (Fri, 21 Mar 2014)
Log Message:
-----------
Both OCTAVE_HAS_CAIRO and OCTAVE_HAS_GTK are made configurable by the
user with the default ON.
Modified Paths:
--------------
trunk/cmake/modules/ocaml.cmake
Modified: trunk/cmake/modules/ocaml.cmake
===================================================================
--- trunk/cmake/modules/ocaml.cmake 2014-03-18 03:13:46 UTC (rev 13083)
+++ trunk/cmake/modules/ocaml.cmake 2014-03-21 20:40:45 UTC (rev 13084)
@@ -2,7 +2,7 @@
#
# Copyright (C) 2008 Andrew Ross
# Copyright (C) 2009 Hezekiah M. Carty
-# Copyright (C) 2009 Alan W. Irwin
+# Copyright (C) 2009-2014 Alan W. Irwin
#
# This file is part of PLplot.
#
@@ -195,21 +195,21 @@
# Test for the availability of Cairo and Gtk+ bindings
if(OCAMLFIND)
if(PLD_extcairo)
- set(text_cairo "module C = Cairo")
- file(WRITE ${CMAKE_BINARY_DIR}/test_cairo.ml ${text_cairo})
- execute_process(
- COMMAND ${OCAMLFIND} c -package cairo -linkpkg test_cairo.ml -o test_cairo
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- RESULT_VARIABLE OCAML_HAS_CAIRO
- OUTPUT_QUIET
- ERROR_QUIET
- )
- # zero return code indicates no errors. Thus, OCAML_HAS_CAIRO must have
- # truth inverted.
+ option(OCAML_HAS_CAIRO "OCaml has the cairo package" ON)
if(OCAML_HAS_CAIRO)
- set(OCAML_HAS_CAIRO OFF)
- else(OCAML_HAS_CAIRO)
- set(OCAML_HAS_CAIRO ON)
+ set(text_cairo "module C = Cairo")
+ file(WRITE ${CMAKE_BINARY_DIR}/test_cairo.ml ${text_cairo})
+ execute_process(
+ COMMAND ${OCAMLFIND} c -package cairo -linkpkg test_cairo.ml -o test_cairo
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ RESULT_VARIABLE OCAML_HAS_CAIRO_RC
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ # non-zero return code indicates errors.
+ if(OCAML_HAS_CAIRO_RC)
+ set(OCAML_HAS_CAIRO OFF CACHE BOOL "OCaml has the cairo package" FORCE)
+ endif(OCAML_HAS_CAIRO_RC)
endif(OCAML_HAS_CAIRO)
if(OCAML_HAS_CAIRO)
@@ -226,36 +226,43 @@
else(linkflags)
message(STATUS "WARNING:"
"pkg-config could not find cairo module. Disabling Plcairo module")
- set(OCAML_HAS_CAIRO OFF)
+ set(OCAML_HAS_CAIRO OFF CACHE BOOL "OCaml has the cairo package" FORCE)
endif(linkflags)
else(PKG_CONFIG_EXECUTABLE)
message(STATUS "WARNING:"
"pkg-config not found. Disabling Plcairo module")
- set(OCAML_HAS_CAIRO OFF)
+ set(OCAML_HAS_CAIRO OFF CACHE BOOL "OCaml has the cairo package" FORCE)
endif(PKG_CONFIG_EXECUTABLE)
else(OCAML_HAS_CAIRO)
message(STATUS "WARNING:"
"Cairo OCaml library not found. Disabling Plcairo module")
endif(OCAML_HAS_CAIRO)
- set(text_gtk
- "module G = Gtk
+ if(OCAML_HAS_CAIRO)
+ option(OCAML_HAS_GTK "OCaml has the cairo.lablgtk2 package" ON)
+ else(OCAML_HAS_CAIRO)
+ message(STATUS "WARNING:"
+ "Cairo OCaml library not found. Disabling lablgtk2 support")
+ set(OCAML_HAS_GTK OFF CACHE BOOL "OCaml has the cairo.lablgtk2 package" FORCE)
+ endif(OCAML_HAS_CAIRO)
+
+ if(OCAML_HAS_GTK)
+ set(text_gtk
+ "module G = Gtk
module C = Cairo_lablgtk"
- )
- file (WRITE ${CMAKE_BINARY_DIR}/test_gtk.ml ${text_gtk})
- execute_process(
- COMMAND ${OCAMLFIND} c -package cairo.lablgtk2 -linkpkg test_gtk.ml -o test_gtk
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- RESULT_VARIABLE OCAML_HAS_GTK
- OUTPUT_QUIET
- ERROR_QUIET
- )
- # zero return code indicates no errors. Thus, OCAML_HAS_CAIRO must have
- # truth inverted.
- if(OCAML_HAS_GTK)
- set(OCAML_HAS_GTK OFF)
- else(OCAML_HAS_GTK)
- set(OCAML_HAS_GTK ON)
+ )
+ file (WRITE ${CMAKE_BINARY_DIR}/test_gtk.ml ${text_gtk})
+ execute_process(
+ COMMAND ${OCAMLFIND} c -package cairo.lablgtk2 -linkpkg test_gtk.ml -o test_gtk
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ RESULT_VARIABLE OCAML_HAS_GTK_RC
+ OUTPUT_QUIET
+ ERROR_QUIET
+ )
+ # non-zero return code indicates errors.
+ if(OCAML_HAS_GTK_RC)
+ set(OCAML_HAS_GTK OFF CACHE BOOL "OCaml has the cairo.lablgtk2 package" FORCE)
+ endif(OCAML_HAS_GTK_RC)
endif(OCAML_HAS_GTK)
if(OCAML_HAS_GTK)
@@ -266,11 +273,13 @@
endif (PLD_extcairo)
else(OCAMLFIND)
message(STATUS "WARNING:"
- "ocamlfind not available. Disabling Plcairo module and lablgtk support")
- set(OCAML_HAS_CAIRO OFF)
- set(OCAML_HAS_GTK OFF)
+ "ocamlfind not available. Disabling Plcairo module and lablgtk2 support")
+ set(OCAML_HAS_CAIRO OFF CACHE BOOL "OCaml has the cairo package" FORCE)
+ set(OCAML_HAS_GTK OFF CACHE BOOL "OCaml has the cairo.lablgtk2 package" FORCE)
endif(OCAMLFIND)
else(ENABLE_ocaml)
- set(OCAML_HAS_CAIRO OFF)
- set(OCAML_HAS_GTK OFF)
+ message(STATUS "WARNING:"
+ "ENABLE_ocaml is OFF so disabling Plcairo module and lablgtk2 support")
+ set(OCAML_HAS_CAIRO OFF CACHE BOOL "OCaml has the cairo package" FORCE)
+ set(OCAML_HAS_GTK OFF CACHE BOOL "OCaml has the cairo.lablgtk2 package" FORCE)
endif(ENABLE_ocaml)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|