Skip to content
Snippets Groups Projects
Commit adb2d82d authored by r.lalik's avatar r.lalik
Browse files

Version 3.6.0, support for feb22 setup with iTof

* no more git submodules, FetchCOntent instead
parent 04e06446
No related branches found
No related tags found
No related merge requests found
cmake_minimum_required(VERSION 3.17)
cmake_minimum_required(VERSION 3.16)
project(Tifini3
VERSION 3.5.1
VERSION 3.6.0
LANGUAGES C CXX
)
string(TOUPPER "${PROJECT_NAME}" CAPS_PROJECT_NAME)
list(APPEND CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake
)
# =================================================================================================
# options
set(${PROJECT_NAME}_BUILTIN_GTEST AUTO CACHE STRING "Use built-in gtest")
set_property(CACHE ${PROJECT_NAME}_BUILTIN_GTEST PROPERTY STRINGS AUTO ON OFF)
# fetch external content
include(FetchContent) # requires >= cmake-3.11
#-------------------------------------------------------------------------------
# cmake-scripts
FetchContent_Declare(cmake-scripts
GIT_REPOSITORY https://github.com/StableCoder/cmake-scripts.git
GIT_TAG 774a07ece3945b4f72e3ddc11646ab7cc9a349e2 # from main after sanitizer updates
)
FetchContent_MakeAvailable(cmake-scripts)
list(APPEND CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/Modules
${CMAKE_SOURCE_DIR}/cmake-scripts
${cmake-scripts_SOURCE_DIR}
)
include(c++-standards)
include(code-coverage)
include(sanitizers)
include(doxygen)
include(formatting)
include(tools)
#-------------------------------------------------------------------------------
# 3rd party software
# cpr
SET (REQUIRED_GTEST_VERSION 1.11.0)
include(cmake/check_3rdparty_gtest.cmake)
#-------------------------------------------------------------------------------
if(EXISTS $ENV{ROOTSYS}/cmake/ROOTConfig.cmake)
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
......@@ -42,7 +76,7 @@ include(RootNewMacros)
##### set paths
include(GNUInstallDirs)
set(CMAKE_INSTALL_CMAKEDIR ${DEF_CMAKE_INSTALL_CMAKEDIR} CACHE PATH "Installation directory for CMake files")
set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
......
Subproject commit d026bf90433993548a96e383c087b7034195aed9
File moved
......@@ -46,7 +46,7 @@ IF (HYDRA2_FOUND)
SET(HYDRA2_INCLUDE_DIR ${INTHADDIR}/include )
set(HYDRA2_LIBRARIES)
foreach(_cpt Alignment Dst Emc EventDisplay Forward Hydra Kalman MdcGarfield Mdc MdcTrackD MdcTrackG MdcUtil Online Particle PionTracker QA Revt Rich Rpc Shower ShowerUtil Simulation Start Tof Tools Wall Sts FRpc)
foreach(_cpt Alignment Dst Emc EventDisplay Forward Hydra Kalman MdcGarfield Mdc MdcTrackD MdcTrackG MdcUtil Online Particle PionTracker QA Revt Rich Rpc Shower ShowerUtil Simulation Start Tof Tools Wall Sts FRpc iTof)
find_library(HYDRA2_${_cpt}_LIBRARY NAMES ${_cpt} lib{_cpt} HINTS ${HYDRA2_LIBRARY_DIR})
if(HYDRA2_${_cpt}_LIBRARY)
mark_as_advanced(HYDRA2_${_cpt}_LIBRARY)
......
File moved
File moved
File moved
FetchContent_Declare(gtest
GIT_REPOSITORY https://github.com/google/googletest
GIT_TAG release-${REQUIRED_GTEST_VERSION}
)
if(${PROJECT_NAME}_BUILTIN_GTEST STREQUAL "AUTO")
find_package(GTest ${REQUIRED_GTEST_VERSION} QUIET)
if (NOT GTest_FOUND)
SET(USE_BUILTIN_GTEST TRUE)
endif()
elseif(${PROJECT_NAME}_BUILTIN_GTEST) # a true value (such as ON) was used
SET(USE_BUILTIN_GTEST TRUE)
else() # a false value (such as OFF) was used
find_package(GTest ${REQUIRED_GTEST_VERSION} REQUIRED)
endif()
if (USE_BUILTIN_GTEST)
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build shared GTEST")
set(GTEST_USE_SYSTEM_GTEST ON)
# based on https://stackoverflow.com/questions/65527126/disable-install-for-fetchcontent
#FetchContent_MakeAvailable(gtest EXCLUDE_FROM_ALL)
FetchContent_GetProperties(gtest)
if(NOT gtest_POPULATED)
FetchContent_Populate(gtest)
add_subdirectory(${gtest_SOURCE_DIR} ${gtest_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
#set_property(TARGET gtest PROPERTY POSITION_INDEPENDENT_CODE ON)
else()
message(STATUS "Uses system-provided gtest")
endif()
File moved
#ifndef SIFI_TESTS_CONFIG_H
#define SIFI_TESTS_CONFIG_H
#ifndef @PROJECT_NAME@_TESTS_CONFIG_H
#define @PROJECT_NAME@_TESTS_CONFIG_H
#include <string>
const std::string tests_path = "@CMAKE_CURRENT_SOURCE_DIR@/";
const std::string build_path = "@CMAKE_CURRENT_BINARY_DIR@/";
#endif /* SIFI_TESTS_CONFIG_H */
#endif /* @PROJECT_NAME@_TESTS_CONFIG_H */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment