Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Common CMake modules
CMake C Python C++ CSS Tcl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

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
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
ChoosePython.cmake Fixing Python autodetection and adding a sanity check.
Common.cmake Remove obsolete OS X PPC support
CommonApplication.cmake common_gui_application(): deploy Qt Plugins in the app bundle.
CommonCPPCTest.cmake Rename project-tests target names
CommonCPack.cmake More QUIET for internal find_packages, remove obsolete GNUModules
CommonCTest.cmake Rename project-tests target names
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 Implement Qt support for common_library
CommonPackage.cmake More QUIET for internal find_packages, remove obsolete GNUModules
CommonProcess.cmake Introduce and use CommonProcess
CommonQtSupport.cmake Clean COMMON_QT_SUPPORT_SOURCES variable.
Compiler.cmake Missing update from Eyescale:master
CompilerVersion.cmake Fix compatibility with CMake < 2.8.3
Coverage.cmake Make add_coverage_targets a true function.
CppcheckTargets.cmake Rename project-tests target names
CpplintTargets.cmake Rename project-tests target names
Doxyfile Added an input variable to DoxygenRule.cmake to set the extra
DoxygenRule.cmake Added an input variable to DoxygenRule.cmake to set the extra
Doxygit.cmake More QUIET for internal find_packages, remove obsolete GNUModules
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
FindBoostConfig.cmake Added a config script to auto detect the Python version to use.
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 More silence in CMake run and finders, remove unused BuildApplication
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
FindTuvok.cmake Make Tuvok finder subproject capable
FindUDT.cmake Implement QUIET for UDT finder
FindVRPN.cmake Denoise some finders
FindVTune.cmake More silence in CMake run and finders, remove unused BuildApplication
FindWiiuse.cmake Minor fixes
FindXDR.cmake Add finder foro XDR library
Findcapnproto.cmake Missing update from Eyescale:master
Findcppcheck.cmake More QUIET for internal find_packages, remove obsolete GNUModules
Findcppcheck.cpp Improve cppcheck compatibility
Findcpplint.cmake More silence in CMake run and finders, remove unused BuildApplication
Findcppnetlib.cmake More silence in CMake run and finders, remove unused BuildApplication
Findgmock.cmake Adding find package support for gmock, jsoncpp, zeromq, and zeromq c+…
Findhwloc.cmake More QUIET for internal find_packages, remove obsolete GNUModules
Findjack.cmake Add jack finder for SAGE
Findleveldb.cmake More QUIET for internal find_packages, remove obsolete GNUModules
Findlibzmq.cmake Adding path hints to locate ZMQ when built from source in Windows.
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
GitExternal.cmake More silence in CMake run and finders, remove unused BuildApplication
GitInfo.cmake More silence in CMake run and finders, remove unused BuildApplication
GitTargets.cmake More silence in CMake run and finders, remove unused BuildApplication
GithubInfo.cmake More silence in CMake run and finders, remove unused BuildApplication
GithubOrganization.cmake Foundations to transform documentation repository into directory:
Info.plist.in Introduce common_gui_application() wrapper with OSX app bundle support
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 More QUIET for internal find_packages, remove obsolete GNUModules
LibFindMacros.cmake More silence in CMake run and finders, remove unused BuildApplication
MPI.cmake More silence in CMake run and finders, remove unused BuildApplication
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 More silence in CMake run and finders, remove unused BuildApplication
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 GNUModules was removed in #323
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 Make Tuvok finder subproject capable
System.cmake Missing update from Eyescale:master
TargetHooks.cmake Fix cppcheck: missing include for version.h when UPPER_PROJECT_NAME !…
TestCPP11.cmake More QUIET for internal find_packages, remove obsolete GNUModules
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
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).
    • 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.