mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-13 16:46:46 +00:00
CMake: Require language level per target
https://cmake.org/cmake/help/latest/manual/cmake-compile-features.7.html#requiring-language-standards
This commit is contained in:
parent
340b005997
commit
d8032c271e
|
@ -53,6 +53,7 @@ add_library(FairLogger
|
||||||
logger/Logger.cxx
|
logger/Logger.cxx
|
||||||
logger/Logger.h
|
logger/Logger.h
|
||||||
)
|
)
|
||||||
|
target_compile_features(FairLogger PUBLIC cxx_std_11)
|
||||||
|
|
||||||
if(USE_BOOST_PRETTY_FUNCTION)
|
if(USE_BOOST_PRETTY_FUNCTION)
|
||||||
target_link_libraries(FairLogger PUBLIC Boost::boost)
|
target_link_libraries(FairLogger PUBLIC Boost::boost)
|
||||||
|
@ -67,6 +68,7 @@ else()
|
||||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/logger/bundled>
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/logger/bundled>
|
||||||
$<INSTALL_INTERFACE:${PROJECT_INSTALL_BUNDLEDINCDIR}>
|
$<INSTALL_INTERFACE:${PROJECT_INSTALL_BUNDLEDINCDIR}>
|
||||||
)
|
)
|
||||||
|
target_compile_features(fmt PUBLIC cxx_std_11)
|
||||||
target_compile_definitions(fmt INTERFACE FMT_HEADER_ONLY)
|
target_compile_definitions(fmt INTERFACE FMT_HEADER_ONLY)
|
||||||
target_link_libraries(FairLogger PUBLIC fmt)
|
target_link_libraries(FairLogger PUBLIC fmt)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -95,13 +95,9 @@ macro(set_fairlogger_defaults)
|
||||||
|
|
||||||
# Handle C++ standard level
|
# Handle C++ standard level
|
||||||
set(PROJECT_MIN_CXX_STANDARD 11)
|
set(PROJECT_MIN_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
if(CMAKE_CXX_STANDARD LESS PROJECT_MIN_CXX_STANDARD)
|
||||||
if(NOT CMAKE_CXX_STANDARD)
|
|
||||||
set(CMAKE_CXX_STANDARD ${PROJECT_MIN_CXX_STANDARD})
|
|
||||||
elseif(${CMAKE_CXX_STANDARD} LESS ${PROJECT_MIN_CXX_STANDARD})
|
|
||||||
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
||||||
|
|
||||||
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user