Skip to content

update project template

Martin Christoph Hierholzer requested to merge update-project-template into master
  • reduce to template
  • removed check if required input variables are set, since it does not work (and never did)
  • renamed some variables exported to depending projects, to be more cmake-like ${PROJECT_NAME}_CPPFLAGS -> ${PROJECT_NAME}_CXX_FLAGS ${PROJECT_NAME}_LDFLAGS -> ${PROJECT_NAME}_LINK_FLAGS
  • added .project to the gitignore list
  • added support for the --mexflags option. needs still testing
  • fixed using the wrong variable names
  • added @ONLY to configure_file again, since it destroys some code otherwise
  • fixed issue with compiler/linker flags being interpreted as lists and thus having semicolons in between
  • imported FindDOOCS script
  • removed some unneeded lines
  • Use FindLibrary() cmake command to properly locate the library, even if the directory is already known. This is needed to get the proper full path reference to the library.
  • removed @PROJECT_NAME@_LIBRARIES from the required variables since the package might not provide a library
  • updated the usage description
  • added a variable @PROJECT_NAME@_PREFIX and use it as the required variable to make a nicer output when depending projects find this package
  • fix for depending Makefile projects: do not add -l option to full-path library names
  • updated documentation, especially added a warning not to modify these files inside a project
  • fixed wrong FOUND_VAR (was by default <UPPERCASED_NAME>_FOUND)
  • added workaround for cmake versions older than 2.8.11 (as used on Ubuntu 12.04)
  • Capture only coverage data for the current project in the first place, instead of extracting it from all coverage data in a second step. This seems to be needed as extraction spuriously might fail in some cases.
  • Revert "Capture only coverage data for the current project in the first place, instead of extracting it from all coverage data in a second step. This seems to be needed as extraction spuriously might fail in some cases."
  • added exclution of the build directory to the coverage makefile
  • Added make_debian_package script to the project template
  • added non-modification warning to the new script
  • fixed typo in debian packaging script
  • fixed generation of @PROJECT_NAME@_found for CMake < 2.8.11
  • fixed spaces in the PROJECT_NAME-config template
  • added file to indicate that a project is using the project-template
  • Added sections to the .gitignore file.
  • Fixes in create_cmake_config_files script: - Quotes around input variables when doing string replace avoid existing semicolons from being deleted. - The project target library itself was missing in the linker flags.
  • added an ignore pattern for vi
  • added make_coverage.sh.in and deprecated Makefile.coverage.in
  • clone from source directory when creating a debian package
  • Added the new getDebianBuildVersion script and use it inside make_debian_package.sh.in to obtain the version IMPORTANT: Projects importing this commit must edit the (newly created) DebianPackaging.config file!
  • fixed taking getDebianBuildVersion from the wrong directory
  • fixed wrong quotes
  • fixed not using getDebianBuildVersion correctly
  • added cmake script to set the version number cmake variables as needed by other scripts of the project-template
  • properly pass the build version to the cmake building the library inside the Debian packaging tools
  • added add_dependency macro
  • fixed wrong directory name
  • fixed a typo
  • fixed wrong order of commands... need to obtain versions first
  • removed the patch level from the build directory name, as expected by Debian
    • replace #DEBVERSION# in files ending on .template in the debian_from_template directory - replace DEBVERSION in file names in the debian_from_template directory This is needed, since the debian version is not yet known in cmake.
  • also replace #SOVERSION# since it also depends on the build version
  • replaced an old variable name with the new version
  • fixed that the configuration for loop for replacing the DEBVERSION and SOVERSION in the debian_from_template was running on the wrong (non-existing) directory
  • added prepare_debian_package.cmake (currently just a copy of the version in the DOOCSwrappers library)
  • added some documentation
  • added an option to build using pbuilder
  • added commands to maintain the pbuilder environment more easily
  • removed stuff for debian packaging, since this is now handled by external scripts
  • undid the changes to use pbuilder in make_debian_package.sh. This conceptualluy does not work and will completely be changed in future.
  • use readelf instead of readlink to extract the DOOCS version and do not strip the system-dependent part of the version (e.g. -xenial1), since it is needed to identify the version correctly.
  • removed already deprecated prepare_debian_package.cmake, which has just been added and will unnecessarily cause conflicts in the anyway deprecated way to create debian packages
  • made the script a bit more generic to potentially also work with non-project-template dependencies
  • added option to include the zqm library (to be tested)
  • fixed multiple components not properly being passed on to find_package
  • fixed CXX_FLAGS etc. not properly set after last commit
  • fixed that the script did not fail when one of the components was not found
  • added script to enable the C++ 11 support
  • changed order of libraries so that the dependencies come after the dependents.
  • need to find DOOCS_DIR first, since this is the variable which might be specified at the cmake command line
  • look for the other DOOCS components in the same directory as the client
  • Added new dapi component in FindDOOCS.cmake module.
  • added script to enable coverage report
  • added TINE_EXPORT C macro/constant to the compiler flags, which seens to be required for the latest DOOCS version
  • Just defining TINE_EXPORT was not enough, so we set it to a space instead
  • also set CXX_FLAGS from the dependency
  • export FOUND flag to the calling CMakeLists.txt
  • Fixed the confusing and inconsistently used names *_LINK_FLAGS and *_LINKER_FLAGS by always setting and getting both variables
  • use readelf instead of readlink to detect the DOOCS version (imported change from doocsllrfwrapper)
  • fixed wrong quotes when setting the TINE_EXPORT C preprocessor symbol to a space
  • added ignore pattern for KDevelop 4 project files
  • also export the LIBRARY_DIRS variable to the calling CMakeLists.txt (needed to publish it to further downstream dependencies)
  • added include script to generate doxygen documentation from cmake/Doxyfile.in
  • added missing exports to parent scope in add_dependency macro
  • Added instructions how to use the project template.
  • added ddaq as component to FindDOOCS.cmake
  • added cmake module to search for readline
  • fixed wrong case (just a cosmetic change)
  • Ignore configuration files for Visual Studio Code.
  • updated the DESY logo
  • added ChimeraTK logo
  • also export the PREFIX variable
  • added CMakeLists.txt.user to gitignore (project file for Qt Creator)
  • add enable_latest_cxx_support.cmake and added a comment to enable_cxx11_support.cmake to no longer use is.
  • fixed not setting anything newer than c++11
  • updated HowTo file and formatted it properly with markdown
  • added FindFFTW to project template. Needed by several middle layer servers
  • Add easier steps to use the template
  • Add Doxyfile.in
  • fixed installation of cmake find_package script / configuration file
  • added missing <PROJECT_NAME>ConfigVersion.cmake in create_cmake_config_files macro
  • project-template: use GNUInstallDirs to determin install destionations
  • Revert "project-template: use GNUInstallDirs to determin install destionations"
  • removed last occurance of mtca4u in an example text
  • Introduced cmake module registerTests:
  • revised option names:
  • do not fail if gcov crashes, since this is basically out of our control
  • fixed adding the new option to the wrong line in the last commit
  • register_tests now takes working directory.
  • Add files via upload
  • fix issue that a double "-l" can appear in the Makefile config shell scripts for libraries which already contain the -l
  • DOOCS needs libgul now, so link against it
  • Support case insensitive CMAKE_BUILD_TYPE
  • Bugfix:
  • project-template: improved Doxygen template
  • project-template: exclude tests from Doxygen documentation
  • Make doxygen pick up markdown.
  • removed wrong example path
  • introduced: set_default_build_type_to_release.cmake
  • rename:
  • FindDoocs: Make sure readelf output is english
  • added daqreader in FindDOOCS.cmake
  • removed enable_cxx11_support.cmake, as we must not use it any more
  • added set_default_flags.cmake makro
  • changed default build type to RelWithDebugInfo
  • fixed set_default_flags.cmake macro
  • set also C flags
  • Add public dependencies to Config.cmake
  • Use find_dependency instead of find_package
  • Revert "Use find_dependency instead of find_package"
  • Added module to select ControlSystemAdapter for ApplicationCore servers
  • Resolve cmake targets in the config scripts
  • add two more ignores related to eclipse projects.
  • project_template: FindDoocs can now also find libgul14.so
  • added FindMako (to find the python mako module)
  • move FindMako.cmake into the right directory
  • added find script for the config generator
  • added cmake include for config-generator-based projects
  • correct version of config generator base script
  • change installation directory
  • FindDoocs treats missing required components correctly (does not succeed)
  • added eqdaqdatalib as component to FindDoocs
  • Add .clang-format to project template
  • Corrected install directory in FindConfigGenerator.cmake
  • use pkg_config to find doocs
  • FindDOOCS: fix wrong linking order e.g. in case of the doocs adapter
  • FindDOOCS: extend PKG_CONFIG_PATH by directory set via DOOCS_DIR (if set) and the hardcoded default in /export/doocs/...
  • FindDOOCS: add thread library (required by DOOCS but not mentioned through pkg-config)
  • fix dep. for daqreader
  • remove tests from exclude pattern
  • doxygen: Bump DOT_GRAPH_MAX_NODES (needed at least in AC)
  • FindDOOCS: Force linking against libtinemt
  • FindDOOCS: Fix typo time -> tine
  • FindDOOCS: More work-around for dev-libtine
  • FindDOOCS: Remove accidental duplication
  • Add support for USE_TSAN flag according to https://github.com/ChimeraTK/project-template/issues/13
  • Add -g flag to default flag for Debug builds.
  • renamed flag USE_TSAN to ENABLE_TSAN
  • Make tsan/asan dedicated cmake build types
  • enable_latest_cxx_support also sets CMAKE_CXX_STANDARD (needed for Qt projects)
  • remove CMAKE_CXX_STANDARD since cmake 3.5.1 (Ubuntu 16.04) does not support "17" as a value yet
  • Set CMAKE_CXX_STANDARD in enable_latest_cxx_support only if cmake version supports it.
  • Revert "Set CMAKE_CXX_STANDARD in enable_latest_cxx_support only if cmake version supports it."
  • Removed libtine linking workaround from FindDOOCS. Doocs libraries now are themselves linked correctly against tine.
  • Make coverage on Debug opt-out
  • fix ${@PROJECTNAME@_LIBRARIES} being unusable for header-only libraries
  • add macro to find gcc's atomic library
  • Removed compiler limitiation of FindGccAtomic.cmake. It's also needed/used for llvm/clang.
  • added support for pkgconfig
  • added helper macros for (boost) python bindings
  • config generator: fix not copying TestFacility from scripts project to build directory
  • Add work around for broken DOOCS pkg-config files breaking linkage
  • Make the coverage script build-system agnostic
  • project-template: FindDOOCS now links clientlib first
  • project-template: link against tine explicitly
  • doc: Set -dNOSAFER environment for ghostscript
  • file GLOB with symlinks for settings file
  • project-template: update Doxyfile for doxygen version of Ubuntu 20.04
  • Consolidate coverage options
  • Ignore eclipse python project file.
  • project-template: update clang-format (ReflowComments)
  • project-template: update clang-format configuration
  • [project-template] add coding style checker
  • Ignore files generated by CMake during configure
  • project-template: add comment to clang-format
  • project-template: increase DOT_GRAPH_MAX_NODES
  • project-template: allow non-DESY copyright owners
  • set IMAGE_PATH
  • project-template: make config_generator_project future proof
  • Added EPICS7IOC as option to set_control_system_adapter
  • Added FindlibYajl.cmake script
  • project-template: add python coverage report
  • project-template: support ConfigGenerator shared directory (#9802)
  • project-template: add Python formatting rules
  • project-template: add vs code workspace files to gitignore
  • project-template: add .cache to gitignore (VSCode)
  • coding-style-check: Skip if clang-format not found (#23)
  • project-template: add -fno-inline to tsan flags (#24)
  • Wip/11221 modernize cmake (#25)
  • project-template: use lib install dir defined by GNUInstallDirs (#26)
  • project-template: update for config generator 3.0 (#11327)
  • let cmake set useful rpath on installation of binaries
  • fix(project-template): remove extra rpath from DOOCS imported targets
  • fix(project-template): cmake dev warning in FindDOOCS
  • fix(project-template): imported targets for set_csa
  • chore(project-template): warn about add_dependency use
  • fix(project-template): for cmake 3.16 (Ubuntu 20.04)
  • Increased required version of EPICS-IOC- and EPICS7-IOC-Adapter (#32)
  • Enable _GLIBCXX_ASSERTIONS in Debug mode (#33)
  • project-template: prepend pkgconfig for user-set DOOCS_DIR
  • chore: update Python bindings helper

Merge request reports