diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-09-07 22:37:43 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-09-07 22:37:43 +0200 |
commit | ef4a9a658ef88934c1e9152d1d056cb95d0c2046 (patch) | |
tree | e148afaee166c35191ae0ab86246e03e0c149865 /cmake-e | |
parent | 215e17522fa53d857ef56ef3e0eca98d6ba37532 (diff) | |
download | skeletons-ef4a9a658ef88934c1e9152d1d056cb95d0c2046.zip skeletons-ef4a9a658ef88934c1e9152d1d056cb95d0c2046.tar.gz |
cmake-e: update cmake modules
Diffstat (limited to 'cmake-e')
-rw-r--r-- | cmake-e/cmake/Modules/FindCheck.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEcore.cmake | 8 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEdje.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEet.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEfreet.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEina.cmake | 8 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindElementary.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/FindEvas.cmake | 6 | ||||
-rw-r--r-- | cmake-e/cmake/Modules/UseDoxygen.cmake | 144 |
9 files changed, 187 insertions, 9 deletions
diff --git a/cmake-e/cmake/Modules/FindCheck.cmake b/cmake-e/cmake/Modules/FindCheck.cmake index 795b615..13ed8e9 100644 --- a/cmake-e/cmake/Modules/FindCheck.cmake +++ b/cmake-e/cmake/Modules/FindCheck.cmake @@ -6,7 +6,11 @@ # CHECK_DEFINITIONS - Compiler switches required for using check find_package(PkgConfig) -pkg_check_modules(PC_LIBCHECK QUIET check) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBCHECK ${_QUIET} check) set(CHECK_DEFINITIONS ${PC_LIBCHECK_CFLAGS_OTHER}) find_path(CHECK_INCLUDE_DIR check.h diff --git a/cmake-e/cmake/Modules/FindEcore.cmake b/cmake-e/cmake/Modules/FindEcore.cmake index 9778347..25368cb 100644 --- a/cmake-e/cmake/Modules/FindEcore.cmake +++ b/cmake-e/cmake/Modules/FindEcore.cmake @@ -14,7 +14,11 @@ IF( Ecore_FIND_COMPONENTS ) ENDIF( Ecore_FIND_COMPONENTS ) find_package(PkgConfig) -pkg_check_modules(PC_LIBECORE QUIET ecore) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBECORE ${_QUIET} ecore) set(ECORE_DEFINITIONS ${PC_LIBECORE_CFLAGS_OTHER}) find_path(ECORE_INCLUDE_DIR Ecore.h @@ -36,7 +40,7 @@ find_package_handle_standard_args(ecore DEFAULT_MSG mark_as_advanced( ECORE_INCLUDE_DIR ECORE_LIBRARY ) if (ECORE_USE_ECORE-X) - pkg_check_modules(PC_LIBECORE_X QUIET ecore-x) + pkg_check_modules(PC_LIBECORE_X ${_QUIET} ecore-x) set(ECORE_X_DEFINITIONS ${PC_LIBECORE_X_CFLAGS_OTHER}) find_path(ECORE_X_INCLUDE_DIR Ecore_X.h diff --git a/cmake-e/cmake/Modules/FindEdje.cmake b/cmake-e/cmake/Modules/FindEdje.cmake index 927b31d..3e58d79 100644 --- a/cmake-e/cmake/Modules/FindEdje.cmake +++ b/cmake-e/cmake/Modules/FindEdje.cmake @@ -6,7 +6,11 @@ # EDJE_DEFINITIONS - Compiler switches required for using edje find_package(PkgConfig) -pkg_check_modules(PC_LIBEDJE QUIET edje) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEDJE ${_QUIET} edje) set(EDJE_DEFINITIONS ${PC_LIBEDJE_CFLAGS_OTHER}) find_path(EDJE_INCLUDE_DIR Edje.h diff --git a/cmake-e/cmake/Modules/FindEet.cmake b/cmake-e/cmake/Modules/FindEet.cmake index ae215d3..c749883 100644 --- a/cmake-e/cmake/Modules/FindEet.cmake +++ b/cmake-e/cmake/Modules/FindEet.cmake @@ -6,7 +6,11 @@ # EET_DEFINITIONS - Compiler switches required for using eet find_package(PkgConfig) -pkg_check_modules(PC_LIBEET QUIET eet) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEET ${_QUIET} eet) set(EET_DEFINITIONS ${PC_LIBEET_CFLAGS_OTHER}) find_path(EET_INCLUDE_DIR Eet.h diff --git a/cmake-e/cmake/Modules/FindEfreet.cmake b/cmake-e/cmake/Modules/FindEfreet.cmake index d245206..0ec8637 100644 --- a/cmake-e/cmake/Modules/FindEfreet.cmake +++ b/cmake-e/cmake/Modules/FindEfreet.cmake @@ -6,7 +6,11 @@ # EFREET_DEFINITIONS - Compiler switches required for using efreet find_package(PkgConfig) -pkg_check_modules(PC_LIBEFREET QUIET efreet) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEFREET ${_QUIET} efreet) set(EFREET_DEFINITIONS ${PC_LIBEFREET_CFLAGS_OTHER}) find_path(EFREET_INCLUDE_DIR Efreet.h diff --git a/cmake-e/cmake/Modules/FindEina.cmake b/cmake-e/cmake/Modules/FindEina.cmake index acbd799..6debf90 100644 --- a/cmake-e/cmake/Modules/FindEina.cmake +++ b/cmake-e/cmake/Modules/FindEina.cmake @@ -3,11 +3,17 @@ # EINA_FOUND - System has eina # EINA_INCLUDE_DIRS - The eina include directories # EINA_LIBRARIES - The libraries needed to use eina +# EINA_LDFLAGS_OTHER - Other LDFLAGS needed te use eina. # EINA_DEFINITIONS - Compiler switches required for using eina find_package(PkgConfig) -pkg_check_modules(PC_LIBEINA QUIET eina) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEINA ${_QUIET} eina) set(EINA_DEFINITIONS ${PC_LIBEINA_CFLAGS_OTHER}) +set(EINA_LDFLAGS_OTHER ${PC_LIBEINA_LDFLAGS_OTHER}) find_path(EINA_INCLUDE_DIR Eina.h HINTS ${PC_LIBEINA_INCLUDEDIR} ${PC_LIBEINA_INCLUDE_DIRS} diff --git a/cmake-e/cmake/Modules/FindElementary.cmake b/cmake-e/cmake/Modules/FindElementary.cmake index 5b75bfc..5b09da0 100644 --- a/cmake-e/cmake/Modules/FindElementary.cmake +++ b/cmake-e/cmake/Modules/FindElementary.cmake @@ -6,7 +6,11 @@ # ELEMENTARY_DEFINITIONS - Compiler switches required for using elementary find_package(PkgConfig) -pkg_check_modules(PC_LIBELEMENTARY QUIET elementary) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBELEMENTARY ${_QUIET} elementary) set(ELEMENTARY_DEFINITIONS ${PC_LIBELEMENTARY_CFLAGS_OTHER}) find_path(ELEMENTARY_INCLUDE_DIR Elementary.h diff --git a/cmake-e/cmake/Modules/FindEvas.cmake b/cmake-e/cmake/Modules/FindEvas.cmake index fe980d3..25a81fa 100644 --- a/cmake-e/cmake/Modules/FindEvas.cmake +++ b/cmake-e/cmake/Modules/FindEvas.cmake @@ -6,7 +6,11 @@ # EVAS_DEFINITIONS - Compiler switches required for using evas find_package(PkgConfig) -pkg_check_modules(PC_LIBEVAS QUIET evas) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEVAS ${_QUIET} evas) set(EVAS_DEFINITIONS ${PC_LIBEVAS_CFLAGS_OTHER}) find_path(EVAS_INCLUDE_DIR Evas.h diff --git a/cmake-e/cmake/Modules/UseDoxygen.cmake b/cmake-e/cmake/Modules/UseDoxygen.cmake new file mode 100644 index 0000000..377a3f8 --- /dev/null +++ b/cmake-e/cmake/Modules/UseDoxygen.cmake @@ -0,0 +1,144 @@ +# - Run Doxygen +# +# Adds a doxygen target that runs doxygen to generate the html +# and optionally the LaTeX API documentation. +# The doxygen target is added to the doc target as a dependency. +# i.e.: the API documentation is built with: +# make doc +# +# USAGE: GLOBAL INSTALL +# +# Install it with: +# cmake ./ && sudo make install +# Add the following to the CMakeLists.txt of your project: +# include(UseDoxygen OPTIONAL) +# Optionally copy Doxyfile.in in the directory of CMakeLists.txt and edit it. +# +# USAGE: INCLUDE IN PROJECT +# +# set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +# include(UseDoxygen) +# Add the Doxyfile.in and UseDoxygen.cmake files to the projects source directory. +# +# +# CONFIGURATION +# +# To configure Doxygen you can edit Doxyfile.in and set some variables in cmake. +# Variables you may define are: +# DOXYFILE_SOURCE_DIR - Path where the Doxygen input files are. +# Defaults to the current source directory. +# DOXYFILE_EXTRA_SOURCES - Additional source diretories/files for Doxygen to scan. +# The Paths should be in double quotes and separated by space. e.g.: +# "${CMAKE_CURRENT_BINARY_DIR}/foo.c" "${CMAKE_CURRENT_BINARY_DIR}/bar/" +# +# DOXYFILE_OUTPUT_DIR - Path where the Doxygen output is stored. +# Defaults to "${CMAKE_CURRENT_BINARY_DIR}/doc". +# +# DOXYFILE_LATEX - ON/OFF; Set to "ON" if you want the LaTeX documentation +# to be built. +# DOXYFILE_LATEX_DIR - Directory relative to DOXYFILE_OUTPUT_DIR where +# the Doxygen LaTeX output is stored. Defaults to "latex". +# +# DOXYFILE_HTML_DIR - Directory relative to DOXYFILE_OUTPUT_DIR where +# the Doxygen html output is stored. Defaults to "html". +# + +# +# Copyright (c) 2009, 2010, 2011 Tobias Rautenkranz <tobias@rautenkranz.ch> +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + +macro(usedoxygen_set_default name value type docstring) + if(NOT DEFINED "${name}") + set("${name}" "${value}" CACHE "${type}" "${docstring}") + endif() +endmacro() + +find_package(Doxygen) + +if(DOXYGEN_FOUND) + find_file(DOXYFILE_IN "Doxyfile.in" + PATHS "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_ROOT}/Modules/" + NO_DEFAULT_PATH + DOC "Path to the doxygen configuration template file") + set(DOXYFILE "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile") + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(DOXYFILE_IN DEFAULT_MSG "DOXYFILE_IN") +endif() + +if(DOXYGEN_FOUND AND DOXYFILE_IN_FOUND) + usedoxygen_set_default(DOXYFILE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc" + PATH "Doxygen output directory") + usedoxygen_set_default(DOXYFILE_HTML_DIR "html" + STRING "Doxygen HTML output directory") + usedoxygen_set_default(DOXYFILE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" + PATH "Input files source directory") + usedoxygen_set_default(DOXYFILE_EXTRA_SOURCE_DIRS "" + STRING "Additional source files/directories separated by space") + set(DOXYFILE_SOURCE_DIRS "\"${DOXYFILE_SOURCE_DIR}\" ${DOXYFILE_EXTRA_SOURCES}") + + usedoxygen_set_default(DOXYFILE_LATEX YES BOOL "Generate LaTeX API documentation" OFF) + usedoxygen_set_default(DOXYFILE_LATEX_DIR "latex" STRING "LaTex output directory") + + mark_as_advanced(DOXYFILE_OUTPUT_DIR DOXYFILE_HTML_DIR DOXYFILE_LATEX_DIR + DOXYFILE_SOURCE_DIR DOXYFILE_EXTRA_SOURCE_DIRS DOXYFILE_IN) + + + set_property(DIRECTORY + APPEND PROPERTY + ADDITIONAL_MAKE_CLEAN_FILES + "${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_HTML_DIR}") + + add_custom_target(doxygen + COMMAND "${DOXYGEN_EXECUTABLE}" + "${DOXYFILE}" + COMMENT "Writing documentation to ${DOXYFILE_OUTPUT_DIR}..." + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + + set(DOXYFILE_DOT "NO") + if(DOXYGEN_DOT_EXECUTABLE) + set(DOXYFILE_DOT "YES") + endif() + + ## LaTeX + set(DOXYFILE_PDFLATEX "NO") + + set_property(DIRECTORY APPEND PROPERTY + ADDITIONAL_MAKE_CLEAN_FILES + "${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_LATEX_DIR}") + + if(DOXYFILE_LATEX STREQUAL "ON") + set(DOXYFILE_GENERATE_LATEX "YES") + find_package(LATEX) + find_program(DOXYFILE_MAKE make) + mark_as_advanced(DOXYFILE_MAKE) + if(LATEX_COMPILER AND MAKEINDEX_COMPILER AND DOXYFILE_MAKE) + if(PDFLATEX_COMPILER) + set(DOXYFILE_PDFLATEX "YES") + endif() + + add_custom_command(TARGET doxygen + POST_BUILD + COMMAND "${DOXYFILE_MAKE}" + COMMENT "Running LaTeX for Doxygen documentation in ${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_LATEX_DIR}..." + WORKING_DIRECTORY "${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_LATEX_DIR}") + else() + set(DOXYGEN_LATEX "NO") + endif() + else() + set(DOXYFILE_GENERATE_LATEX "NO") + endif() + + + configure_file("${DOXYFILE_IN}" "${DOXYFILE}" @ONLY) + + get_target_property(DOC_TARGET doc TYPE) + if(NOT DOC_TARGET) + add_custom_target(doc) + endif() + + add_dependencies(doc doxygen) +endif() |