summaryrefslogtreecommitdiff
path: root/cmake
diff options
authorNeil Jagdish Patel <neil.patel@canonical.com>2011-06-02 16:36:12 +0100
committerNeil Jagdish Patel <neil.patel@canonical.com>2011-06-02 16:36:12 +0100
commitbbdf5819fecf8029553da682fdaf44039cc2f627 (patch)
tree2bb71e039955c7e791ed214fe9652659d5a7c291 /cmake
parent528353fcfba31063e217b02a32f068c4995c517c (diff)
remove more cruft
(bzr r1211)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/vala/FindVala.cmake65
-rw-r--r--cmake/vala/ParseArguments.cmake36
-rw-r--r--cmake/vala/README.rst173
-rw-r--r--cmake/vala/ValaPrecompile.cmake175
-rw-r--r--cmake/vala/ValaVersion.cmake96
5 files changed, 0 insertions, 545 deletions
diff --git a/cmake/vala/FindVala.cmake b/cmake/vala/FindVala.cmake
deleted file mode 100644
index 3086259b0..000000000
--- a/cmake/vala/FindVala.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-##
-# 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
-##
-
-##
-# 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-0.12)
-
-# 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)
-
-mark_as_advanced(VALA_EXECUTABLE)
-
-# 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/ParseArguments.cmake b/cmake/vala/ParseArguments.cmake
deleted file mode 100644
index 717c0f56f..000000000
--- a/cmake/vala/ParseArguments.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-##
-# This is a helper Macro to parse optional arguments in Macros/Functions
-# It has been taken from the public CMake wiki.
-# See http://www.cmake.org/Wiki/CMakeMacroParseArguments for documentation and
-# licensing.
-##
-macro(parse_arguments prefix arg_names option_names)
- set(DEFAULT_ARGS)
- foreach(arg_name ${arg_names})
- set(${prefix}_${arg_name})
- endforeach(arg_name)
- foreach(option ${option_names})
- set(${prefix}_${option} FALSE)
- endforeach(option)
-
- set(current_arg_name DEFAULT_ARGS)
- set(current_arg_list)
- foreach(arg ${ARGN})
- set(larg_names ${arg_names})
- list(FIND larg_names "${arg}" is_arg_name)
- if(is_arg_name GREATER -1)
- set(${prefix}_${current_arg_name} ${current_arg_list})
- set(current_arg_name ${arg})
- set(current_arg_list)
- else(is_arg_name GREATER -1)
- set(loption_names ${option_names})
- list(FIND loption_names "${arg}" is_option)
- if(is_option GREATER -1)
- set(${prefix}_${arg} TRUE)
- else(is_option GREATER -1)
- set(current_arg_list ${current_arg_list} ${arg})
- endif(is_option GREATER -1)
- endif(is_arg_name GREATER -1)
- endforeach(arg)
- set(${prefix}_${current_arg_name} ${current_arg_list})
-endmacro(parse_arguments)
diff --git a/cmake/vala/README.rst b/cmake/vala/README.rst
deleted file mode 100644
index bcc59b763..000000000
--- a/cmake/vala/README.rst
+++ /dev/null
@@ -1,173 +0,0 @@
-==========
-Vala CMake
-==========
-:Author:
- Jakob Westhoff
-:Version:
- Draft
-
-
-Overview
-========
-
-Vala CMake is a collection of macros for the CMake_ build system to allow the
-creation and management of projects developed using the Vala_ programming
-language or its "Genie" flavor (less tested).
-
-
-Installation
-============
-
-To use the Vala macros in your own project you need to copy the macro files to
-an arbitrary folder in your projects directory and reference them in your
-``CMakeLists.txt`` file.
-
-Assuming the macros are stored under ``cmake/vala`` in your projects folder you
-need to add the following information to your base ``CMakeLists.txt``::
-
- list(APPEND CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake/vala
- )
-
-After the new module path as been added you can simply include the provided
-modules or use the provided find routines.
-
-
-Finding Vala
-============
-
-The find module for vala works like any other Find module in CMake.
-You can use it by simply calling the usual ``find_package`` function. Default
-parameters like ``REQUIRED`` and ``QUIETLY`` are supported.
-
-::
-
- find_package(Vala REQUIRED)
-
-After a successful call to the find_package function the following variables
-will be set:
-
-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
-
-
-Precompiling Vala sources
-=========================
-
-CMake is mainly supposed to handle c or c++ based projects. Luckily every vala
-program is translated into plain c code using the vala compiler, followed by
-normal compilation of the generated c program using gcc.
-
-The macro ``vala_precompile`` uses that fact to create c files from your .vala
-sources for further CMake processing.
-
-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
-conjunction with functions like ``add_executable`` or others to create the
-necessary 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:
-
-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.
-
-DIRECTORY
- Specify the directory where the output source files will be stored. If
- ommitted, the source files will be stored in CMAKE_CURRENT_BINARY_DIR.
-
-CUSTOM_VAPIS
- A list of custom vapi files to be included for compilation. This can be
- useful to include freshly created vala libraries without having to install
- them in the system.
-
-GENERATE_VAPI
- 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
- <provided_name>.h and <provided_name>_internal.h
-
-The following call is a simple example to the vala_precompile macro showing an
-example to every of the optional sections::
-
- vala_precompile(VALA_C
- source1.vala
- source2.vala
- source3.vala
- PACKAGES
- gtk+-2.0
- gio-1.0
- posix
- OPTIONS
- --thread
- CUSTOM_VAPIS
- some_vapi.vapi
- GENERATE_VAPI
- myvapi
- GENERATE_HEADER
- myheader
- )
-
-Most important is the variable VALA_C which will contain all the generated c
-file names after the call. The easiest way to use this information is to tell
-CMake to create an executable out of it.
-
-::
-
- add_executable(myexecutable ${VALA_C})
-
-
-Further reading
-===============
-
-The `Pdf Presenter Console`__ , which is a vala based project of mine, makes
-heavy usage of the here described macros. To look at a real world example of
-these macros the mentioned project is the right place to take a look. The svn
-trunk of it can be found at::
-
- svn://pureenergy.cc/pdf_presenter_console/trunk
-
-
-__ http://westhoffswelt.de/projects/pdf_presenter_console.html
-
-
-Acknowledgments
-===============
-
-Thanks go out to Florian Sowade, a fellow local PHP-Usergroupie, who helped me
-a lot with the initial version of this macros and always answered my mostly
-dumb CMake questions.
-
-.. _CMake: http://cmake.org
-.. _Vala: http://live.gnome.org/Vala
-.. _Genie: http://live.gnome.org/Genie
-
-
-
-..
- Local Variables:
- mode: rst
- fill-column: 79
- End:
- vim: et syn=rst tw=79
diff --git a/cmake/vala/ValaPrecompile.cmake b/cmake/vala/ValaPrecompile.cmake
deleted file mode 100644
index 19c473929..000000000
--- a/cmake/vala/ValaPrecompile.cmake
+++ /dev/null
@@ -1,175 +0,0 @@
-##
-# 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
-# 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:
-#
-# 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.
-#
-# CUSTOM_VAPIS
-# A list of custom vapi files to be included for compilation. This can be
-# useful to include freshly created vala libraries without having to install
-# them in the system.
-#
-# GENERATE_VAPI
-# 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
-# <provided_name>.h and <provided_name>_internal.h
-#
-# The following call is a simple example to the vala_precompile macro showing
-# an example to every of the optional sections:
-#
-# vala_precompile(VALA_C
-# source1.vala
-# source2.vala
-# source3.vala
-# PACKAGES
-# gtk+-2.0
-# gio-1.0
-# posix
-# DIRECTORY
-# gen
-# OPTIONS
-# --thread
-# CUSTOM_VAPIS
-# some_vapi.vapi
-# GENERATE_VAPI
-# myvapi
-# 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})
- if(ARGS_DIRECTORY)
- set(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_DIRECTORY})
- else(ARGS_DIRECTORY)
- set(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- endif(ARGS_DIRECTORY)
- include_directories(${DIRECTORY})
- set(vala_pkg_opts "")
- foreach(pkg ${ARGS_PACKAGES})
- list(APPEND vala_pkg_opts "--pkg=${pkg}")
- endforeach(pkg ${ARGS_PACKAGES})
- set(in_files "")
- set(out_files "")
- set(${output} "")
- foreach(src ${ARGS_DEFAULT_ARGS})
- 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})
-
- set(custom_vapi_arguments "")
- if(ARGS_CUSTOM_VAPIS)
- foreach(vapi ${ARGS_CUSTOM_VAPIS})
- if(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
- list(APPEND custom_vapi_arguments ${vapi})
- else (${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
- list(APPEND custom_vapi_arguments ${CMAKE_CURRENT_SOURCE_DIR}/${vapi})
- endif(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
- endforeach(vapi ${ARGS_CUSTOM_VAPIS})
- endif(ARGS_CUSTOM_VAPIS)
-
- set(vapi_arguments "")
- if(ARGS_GENERATE_VAPI)
- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_VAPI}.vapi")
- set(vapi_arguments "--internal-vapi=${ARGS_GENERATE_VAPI}.vapi")
-
- # Header and internal header is needed to generate internal vapi
- if (NOT ARGS_GENERATE_HEADER)
- set(ARGS_GENERATE_HEADER ${ARGS_GENERATE_VAPI})
- endif(NOT ARGS_GENERATE_HEADER)
- endif(ARGS_GENERATE_VAPI)
-
- set(header_arguments "")
- if(ARGS_GENERATE_HEADER)
- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}_internal.h")
- list(APPEND header_arguments "--header=${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
- list(APPEND header_arguments "--internal-header=${DIRECTORY}/${ARGS_GENERATE_HEADER}_internal.h")
- endif(ARGS_GENERATE_HEADER)
-
- add_custom_command(OUTPUT ${out_files}
- COMMAND
- ${VALA_EXECUTABLE}
- ARGS
- "-C"
- ${header_arguments}
- ${vapi_arguments}
- "-b" ${CMAKE_CURRENT_SOURCE_DIR}
- "-d" ${DIRECTORY}
- ${vala_pkg_opts}
- ${ARGS_OPTIONS}
- ${in_files}
- ${custom_vapi_arguments}
- DEPENDS
- ${in_files}
- ${ARGS_CUSTOM_VAPIS}
- )
-endmacro(vala_precompile)
diff --git a/cmake/vala/ValaVersion.cmake b/cmake/vala/ValaVersion.cmake
deleted file mode 100644
index 3fff193f5..000000000
--- a/cmake/vala/ValaVersion.cmake
+++ /dev/null
@@ -1,96 +0,0 @@
-##
-# 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)
-
-##
-# Ensure a certain valac version is available
-#
-# The initial argument is the version to check for
-#
-# It may be followed by a optional parameter to specifiy a version range. The
-# following options are valid:
-#
-# EXACT
-# Vala needs to be available in the exact version given
-#
-# MINIMUM
-# The provided version is the minimum version. Therefore Vala needs to be
-# available in the given version or any higher version
-#
-# MAXIMUM
-# The provided version is the maximum. Therefore Vala needs to be available
-# in the given version or any version older than this
-#
-# If no option is specified the version will be treated as a minimal version.
-##
-macro(ensure_vala_version version)
- parse_arguments(ARGS "" "MINIMUM;MAXIMUM;EXACT" ${ARGN})
- set(compare_message "")
- set(error_message "")
- if(ARGS_MINIMUM)
- set(compare_message "a minimum ")
- set(error_message "or greater ")
- elseif(ARGS_MAXIMUM)
- set(compare_message "a maximum ")
- set(error_message "or less ")
- endif(ARGS_MINIMUM)
-
- message(STATUS
- "checking for ${compare_message}Vala version of ${version}"
- )
-
- unset(version_accepted)
-
- # MINIMUM is the default if no option is specified
- if(ARGS_EXACT)
- if(${VALA_VERSION} VERSION_EQUAL ${version} )
- set(version_accepted TRUE)
- endif(${VALA_VERSION} VERSION_EQUAL ${version})
- elseif(ARGS_MAXIMUM)
- if(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
- set(version_accepted TRUE)
- endif(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
- else(ARGS_MAXIMUM)
- if(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
- set(version_accepted TRUE)
- endif(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
- endif(ARGS_EXACT)
-
- if (NOT version_accepted)
- message(FATAL_ERROR
- "Vala version ${version} ${error_message}is required."
- )
- endif(NOT version_accepted)
-
- message(STATUS
- " found Vala, version ${VALA_VERSION}"
- )
-endmacro(ensure_vala_version)