[latexila] Vala_CMake updated
- From: SÃbastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila] Vala_CMake updated
- Date: Sun, 17 Jul 2011 15:34:39 +0000 (UTC)
commit a23284d7a53667e084ab0306941e0d8bf09b11d0
Author: SÃbastien Wilmet <swilmet src gnome org>
Date: Sun Jul 17 16:55:29 2011 +0200
Vala_CMake updated
CMakeLists.txt | 6 +-
cmake/vala/FindVala.cmake | 58 +++++-----
cmake/vala/ParseArguments.cmake | 36 ------
cmake/vala/{ValaPrecompile.cmake => UseVala.cmake} | 121 ++++++++++----------
cmake/vala/ValaVersion.cmake | 96 ----------------
5 files changed, 96 insertions(+), 221 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c18294..71626da 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,10 +26,8 @@ set (ICONS_DIR "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor")
if (BUILD_VALA)
list (APPEND CMAKE_MODULE_PATH "${latexila_SOURCE_DIR}/cmake/vala")
- include (ValaPrecompile)
- include (ValaVersion)
- find_package (Vala REQUIRED)
- ensure_vala_version ("0.12.1" MINIMUM)
+ find_package (Vala "0.12.1" REQUIRED)
+ include (${VALA_USE_FILE})
endif ()
find_package (PkgConfig)
diff --git a/cmake/vala/FindVala.cmake b/cmake/vala/FindVala.cmake
index aa3a6e7..45f9964 100644
--- a/cmake/vala/FindVala.cmake
+++ b/cmake/vala/FindVala.cmake
@@ -1,5 +1,22 @@
##
+# Find module for the Vala compiler (valac)
+#
+# This module determines wheter a Vala compiler is installed on the current
+# system and where its executable is.
+#
+# Call the module using "find_package(Vala) from within your CMakeLists.txt.
+#
+# The following variables will be set after an invocation:
+#
+# VALA_FOUND Whether the vala compiler has been found or not
+# VALA_EXECUTABLE Full path to the valac executable if it has been found
+# VALA_VERSION Version number of the available valac
+# VALA_USE_FILE Include this file to define the vala_precompile function
+##
+
+##
# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
+# Copyright 2010-2011 Daniel Pfeifer
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
@@ -27,39 +44,26 @@
# either expressed or implied, of Jakob Westhoff
##
-##
-# Find module for the Vala compiler (valac)
-#
-# This module determines wheter a Vala compiler is installed on the current
-# system and where its executable is.
-#
-# Call the module using "find_package(Vala) from within your CMakeLists.txt.
-#
-# The following variables will be set after an invocation:
-#
-# VALA_FOUND Whether the vala compiler has been found or not
-# VALA_EXECUTABLE Full path to the valac executable if it has been found
-# VALA_VERSION Version number of the available valac
-##
-
-
# Search for the valac executable in the usual system paths.
-find_program(VALA_EXECUTABLE
- NAMES valac)
+find_program(VALA_EXECUTABLE valac)
+mark_as_advanced(VALA_EXECUTABLE)
+
+# Determine the valac version
+if(VALA_EXECUTABLE)
+ execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
+ OUTPUT_VARIABLE VALA_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE "Vala " "" VALA_VERSION "${VALA_VERSION}")
+endif(VALA_EXECUTABLE)
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
# VALA_EXECUTABLE is set)
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Vala DEFAULT_MSG VALA_EXECUTABLE)
+find_package_handle_standard_args(Vala
+ REQUIRED_VARS VALA_EXECUTABLE
+ VERSION_VAR VALA_VERSION)
-mark_as_advanced(VALA_EXECUTABLE)
+set(VALA_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/UseVala.cmake")
-# Determine the valac version
-if(VALA_FOUND)
- execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
- OUTPUT_VARIABLE "VALA_VERSION")
- string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
- string(STRIP ${VALA_VERSION} "VALA_VERSION")
-endif(VALA_FOUND)
diff --git a/cmake/vala/ValaPrecompile.cmake b/cmake/vala/UseVala.cmake
similarity index 85%
rename from cmake/vala/ValaPrecompile.cmake
rename to cmake/vala/UseVala.cmake
index 19c4739..352921c 100644
--- a/cmake/vala/ValaPrecompile.cmake
+++ b/cmake/vala/UseVala.cmake
@@ -1,60 +1,28 @@
##
-# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# The views and conclusions contained in the software and documentation are those
-# of the authors and should not be interpreted as representing official policies,
-# either expressed or implied, of Jakob Westhoff
-##
-
-include(ParseArguments)
-find_package(Vala REQUIRED)
-
-##
# Compile vala files to their c equivalents for further processing.
#
-# The "vala_precompile" macro takes care of calling the valac executable on the
-# given source to produce c files which can then be processed further using
+# The "vala_precompile" function takes care of calling the valac executable on
+# the given source to produce c files which can then be processed further using
# default cmake functions.
-#
+#
# The first parameter provided is a variable, which will be filled with a list
# of c files outputted by the vala compiler. This list can than be used in
# conjuction with functions like "add_executable" or others to create the
# neccessary compile rules with CMake.
-#
-# The initial variable is followed by a list of .vala files to be compiled.
-# Please take care to add every vala file belonging to the currently compiled
-# project or library as Vala will otherwise not be able to resolve all
-# dependencies.
-#
+#
# The following sections may be specified afterwards to provide certain options
# to the vala compiler:
-#
+#
+# SOURCES
+# A list of .vala files to be compiled. Please take care to add every vala
+# file belonging to the currently compiled project or library as Vala will
+# otherwise not be able to resolve all dependencies.
+#
# PACKAGES
# A list of vala packages/libraries to be used during the compile cycle. The
# package names are exactly the same, as they would be passed to the valac
# "--pkg=" option.
-#
+#
# OPTIONS
# A list of optional options to be passed to the valac executable. This can be
# used to pass "--thread" for example to enable multi-threading support.
@@ -68,7 +36,7 @@ find_package(Vala REQUIRED)
# Pass all the needed flags to the compiler to create an internal vapi for
# the compiled library. The provided name will be used for this and a
# <provided_name>.vapi file will be created.
-#
+#
# GENERATE_HEADER
# Let the compiler generate a header file for the compiled code. There will
# be a header file as well as an internal header file being generated called
@@ -77,32 +45,70 @@ find_package(Vala REQUIRED)
# The following call is a simple example to the vala_precompile macro showing
# an example to every of the optional sections:
#
+# find_package(Vala "0.12" REQUIRED)
+# inlcude(${VALA_USE_FILE})
+#
# vala_precompile(VALA_C
+# SOURCES
# source1.vala
# source2.vala
# source3.vala
-# PACKAGES
+# PACKAGES
# gtk+-2.0
# gio-1.0
# posix
-# DIRECTORY
+# DIRECTORY
# gen
-# OPTIONS
+# OPTIONS
# --thread
-# CUSTOM_VAPIS
+# CUSTOM_VAPIS
# some_vapi.vapi
-# GENERATE_VAPI
+# GENERATE_VAPI
# myvapi
-# GENERATE_HEADER
+# GENERATE_HEADER
# myheader
-# )
+# )
#
# Most important is the variable VALA_C which will contain all the generated c
# file names after the call.
##
-macro(vala_precompile output)
- parse_arguments(ARGS "PACKAGES;OPTIONS;DIRECTORY;GENERATE_HEADER;GENERATE_VAPI;CUSTOM_VAPIS" "" ${ARGN})
+##
+# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
+# Copyright 2010-2011 Daniel Pfeifer
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of Jakob Westhoff
+##
+
+include(CMakeParseArguments)
+
+function(vala_precompile output)
+ cmake_parse_arguments(ARGS "" "DIRECTORY;GENERATE_HEADER;GENERATE_VAPI"
+ "SOURCES;PACKAGES;OPTIONS;CUSTOM_VAPIS" ${ARGN})
+
if(ARGS_DIRECTORY)
set(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_DIRECTORY})
else(ARGS_DIRECTORY)
@@ -115,15 +121,13 @@ macro(vala_precompile output)
endforeach(pkg ${ARGS_PACKAGES})
set(in_files "")
set(out_files "")
- set(${output} "")
- foreach(src ${ARGS_DEFAULT_ARGS})
+ foreach(src ${ARGS_SOURCES} ${ARGS_UNPARSED_ARGUMENTS})
list(APPEND in_files "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
string(REPLACE ".vala" ".c" src ${src})
string(REPLACE ".gs" ".c" src ${src})
set(out_file "${DIRECTORY}/${src}")
list(APPEND out_files "${DIRECTORY}/${src}")
- list(APPEND ${output} ${out_file})
- endforeach(src ${ARGS_DEFAULT_ARGS})
+ endforeach(src ${ARGS_SOURCES} ${ARGS_UNPARSED_ARGUMENTS})
set(custom_vapi_arguments "")
if(ARGS_CUSTOM_VAPIS)
@@ -172,4 +176,5 @@ macro(vala_precompile output)
${in_files}
${ARGS_CUSTOM_VAPIS}
)
-endmacro(vala_precompile)
+ set(${output} ${out_files} PARENT_SCOPE)
+endfunction(vala_precompile)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]