Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Common CMake modules
CMake C Python C++ Other
branch: master

Merge pull request #307 from eile/master

target warnings in ninja, explicit config superprojects
latest commit 561da516fc
@eile eile authored
Failed to load latest commit information.
2.8.3 Improve support for CMake 2.8
2.8.8 Make PackageConfig work on CMake versions < 2.8.8
cpp Missing update from Eyescale:master
icons Update icons with PD versions
util Missing update from Eyescale:master
.gitignore Update gitignore
BuildApplication.cmake Addendum to #83:
BuildConfig.cmake Missing update from Eyescale:master
Buildyard.cmake Changes needed for including sub projects
CHANGES.md Missing update from Eyescale:master
CMakeCompatibility.cmake Make SubProject work with older CMake 2.8 versions
CMakeInstallPath.cmake Missing update from Eyescale:master
Common.cmake Tell FindBoost.cmake to output which Boost components are missing on …
CommonApplication.cmake Missing update from Eyescale:master
CommonCPPCTest.cmake missed exclude from build targets
CommonCPack.cmake Missing update from Eyescale:master
CommonCTest.cmake missed exclude from build targets
CommonCode.cmake Missing update from Eyescale:master
CommonDocumentation.cmake Doxygit: deprecate generation of index.html in favor of Jekyll.
CommonInstall.cmake Fix typo bug
CommonLibrary.cmake Subproject related fixes, discovered by using ZEQ
CommonPackage.cmake Missing update from Eyescale:master
CommonProcess.cmake Introduce and use CommonProcess
Compiler.cmake Missing update from Eyescale:master
CompilerVersion.cmake Fix compatibility with CMake < 2.8.3
Coverage.cmake Fix coverage report generation for git subprojects (lcov >= 1.10 requ…
CppcheckTargets.cmake Use correct property to exclude targets from VS "All Build"
CpplintTargets.cmake Use correct property to exclude targets from VS "All Build"
Doxyfile Subproject fixes
DoxygenRule.cmake Make target warnings visible in ninja
Doxygit.cmake Add project meta files
FindAIO.cmake Missing update from Eyescale:master
FindAtlas.cmake Added find script for ATLAS (optimized lapack/blas) library
FindBlueZ.cmake Add abandoned finder from Buildyard
FindCBLAS.cmake Unified solution for LAPACK/CBLAS
FindCairo.cmake Add finder for Cairo library
FindDNSSD.cmake Implement quiet and required for FindVTune
FindFCGI.cmake Added find script for FastCGI (used by DisplayCluster WebService)
FindFFMPEG.cmake Missing update from Eyescale:master
FindFlowVR.cmake Missing update from Eyescale:master
FindGLEW_MX.cmake Missing update from Eyescale:master
FindGPFS.cmake Add GPFS API finder
FindGTS.cmake Implement QUIET for GTS finder
FindLibJpegTurbo.cmake Missing update from Eyescale:master
FindMAGELLAN.cmake Fix Magellan OS X finder
FindMKL.cmake Add FindMKL script (forked from external github repository). Not yet …
FindMaya.cmake Updating the finder to look into Maya 2013 directory.
FindNumPy.cmake Missing update from Eyescale:master
FindOFED.cmake Implement QUIET for FindOFED
FindOpenMesh.cmake Add author/copyright
FindPoppler.cmake Missing update from Eyescale:master
FindPythonCython.cmake Missing update from Eyescale:master
FindPythonModule.cmake Missing update from Eyescale:master
FindPythonh5py.cmake Missing update from Eyescale:master
FindPythonnose.cmake Missing update from Eyescale:master
FindQwt.cmake Add finder Qwt library
FindRealityGrid.cmake Add RealityGrid finder
FindSAGE.cmake Missing update from Eyescale:master
FindSLURM.cmake Missing update from Eyescale:master
FindSpatialIndex.cmake added file for libSpatialIndex
FindTUIO.cmake Fix FindTUIO for module
FindTuvok.cmake Missing update from Eyescale:master
FindUDT.cmake Implement QUIET for UDT finder
FindVRPN.cmake Denoise some finders
FindVTune.cmake Missing update from Eyescale:master
FindWiiuse.cmake Minor fixes
FindXDR.cmake Add finder foro XDR library
Findcapnproto.cmake Missing update from Eyescale:master
Findcppcheck.cmake Missing update from Eyescale:master
Findcppcheck.cpp Improve cppcheck compatibility
Findcpplint.cmake Missing update from Eyescale:master
Findcppnetlib.cmake Improved Findcppnetlib.cmake
Findgmock.cmake Adding find package support for gmock, jsoncpp, zeromq, and zeromq c+…
Findhwloc.cmake Fix GL feature detection for hwloc
Findjack.cmake Add jack finder for SAGE
Findleveldb.cmake Missing update from Eyescale:master
Findlibzmq.cmake Missing update from Eyescale:master
Findlo.cmake Add lo finder for SAGE
Findrocksdb.cmake Fix rocksdb finder for newer versions
Findv4l2.cmake v4l2 & yasm finder for SAGE
Findvncserver.cmake Add vnc finder for SAGE
Findyasm.cmake v4l2 & yasm finder for SAGE
Findzeromqcpp.cmake Missing update from Eyescale:master
GNUModules.cmake Missing update from Eyescale:master
GitExternal.cmake Use correct property to exclude targets from VS "All Build"
GitInfo.cmake Changes needed for including sub projects
GitTargets.cmake Use correct property to exclude targets from VS "All Build"
GithubInfo.cmake Not overwriting the PROJECT_ISSUES_URL if already set.
GithubOrganization.cmake Foundations to transform documentation repository into directory:
InstallFiles.cmake Common adaptations for more complex projects than Hello:
InstallSymlink.cmake Install symlinks relative, not absolute
LICENSE.txt Missing update from Eyescale:master
LSBInfo.cmake Refactor out LSBInfo gathering
LibFindMacros.cmake Make TurboJpeg finding more informative
MPI.cmake Merge branch 'master' of https://github.com/delalond/CMake
MacPorts.cmake Missing update from Eyescale:master
Maturity.cmake Foundations to transform documentation repository into directory:
OSG.cmake Missing update from Eyescale:master
OSSCPack.cmake Rename file
PackageConfig.cmake Subproject related fixes, discovered by using ZEQ
PackageInstall.cmake Missing update from Eyescale:master
Portfile Fix make Macports portfilename configurable
ProjectInfo.cmake Use correct property to exclude targets from VS "All Build"
ProjectInfo.in.cmake Modifications in setup of issues link.
PurpleInstallPDB.cmake Separate and install object manager template instantiation, clean up …
README.md Implement "cmake -DINSTALL_PACKAGES=1"
Revision.cmake General Improvements done for the Template project:
SCM.cmake Merge cleanup
StringifyShaders.cmake Fix shader stringify for real, rename to remove eq historics
SubProject.cmake Require explicit configuration of BY configs
System.cmake Missing update from Eyescale:master
TargetHooks.cmake Move targets into IDE folders
TestCPP11.cmake Missing update from Eyescale:master
TestScriptUtils.cmake Allow absolute paths for test scripts.
Ubuntu.cmake Unify ubuntu codenames in a single place
UpdateFile.cmake Missing update from Eyescale:master
UpdateGitExternal.cmake Deprecate useless update_file
UploadPPA.cmake Missing update from Eyescale:master
VersionUtils.cmake Missing update from Eyescale:master
WriteModuleFile.cmake Missing update from Eyescale:master
cdash.bat CDash Win32 batch script
cdash.plist Update launchctl CDash plist
clangcheckTargets.cmake Use correct property to exclude targets from VS "All Build"
github.css Foundations to transform documentation repository into directory:
html2rst.py Fix README.rst generation
ittnotify.h Add VTune notification API support
rpmPostInstall.sh Run ldconfig after rpm installation, second try

README.md

CMake Modules

This repository contains common CMake modules. To use it, create a .gitexternals in your project:

# -*- mode: cmake -*-
# CMake/common https://github.com/Eyescale/CMake.git master

Copy GitExternal from this repository to CMake/, and use it in your top-level CMakeLists.txt:

list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake
                              ${PROJECT_SOURCE_DIR}/CMake/common)
include(GitExternal)
include(Common)

Documentation

  • Common does a common CMake setup, including:
    • CommonLibrary common_library function to build a shared library using a standard recipe.
    • CommonApplication common_application function to build an application using a standard recipe.
    • CommonCode generates standard header files for the project (api.h, defines.h, version.h).
    • GNUModules: module target to create a GNUModules module and snapshot targets to create GNU modules.
    • GitTargets branch, cut, tag, erase, retag, tarball targets.
    • Compiler: Default compiler flags, useful default warnings and 'safe' C++11 features.
    • GitInfo sets variables with information about the git source tree.
  • CommonCTest does a common CTest setup, including
    • Automatically adding all .cpp files as tests
    • Coverage Create code coverage report as html, if ENABLE_COVERAGE is set. Buildyard has 'make Coverage' target to enable this in a separate build, since coverage flags may break downstream projects.
    • CppcheckTargets: cppcheck target for static code analysis. Also adds all cppcheck targets to tests.
    • clangcheckTargets: clangcheck target for clang-check code analysis. Adds all cppcheck targets to tests if ENABLE_CLANGCHECK_TESTS is set.
  • DoxygenRule: doxygen target to build documentation into PROJECT_BINARY_DIR/doc. Optional doxygit target to copy result to ../GITHUB_ORGANIZATION/Project-M.m/. Must be included after all targets.
  • SubProject: Using a top level simple CMake superproject, several CMake subprojects (which typically depend on each other) can be build. Each subproject is added to the parent superproject with an add_subdirectory( subproject ) directive. To use the SubProject feature, the sub projects should modify their CMake scripts. In the scripts most CMAKE_BINARY_DIR should be changed to PROJECT_BINARY_DIR and CMAKE_SOURCE_DIR should be changed to PROJECT_SOURCE_DIR. A simple sample project can be found at https://github.com/Eyescale/Collage.git, and a complex one at https://github.com/BlueBrain/Livre.git. Users can use "cmake -DINSTALL_PACKAGES=1" during the initial configuration to install known system packages (Ubuntu and OS X only).

  • Find scripts for non-CMake projects.

Something went wrong with that request. Please try again.