Skip to content

Commit 65dff1f

Browse files
committed
introduce cmake options to install and apply clang tidy conditionally
1 parent dfdac2c commit 65dff1f

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ cmake_policy(SET CMP0068 NEW)
2121
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
2222
set(BUILD_WITH_INSTALL_NAME_DIR ON)
2323

24-
if (NOT DEFINED LF_REACTOR_CPP_SUFFIX)
24+
option(REACTOR_CPP_PRINT_STATISTICS "Print statistics after execution" OFF)
25+
option(REACTOR_CPP_TRACE "Enable tracing" OFF)
26+
option(REACTOR_CPP_VALIDATE "Enable runtime validation" ON)
27+
option(REACTOR_CPP_INSTALL "Install the reactor-cpp target" On)
28+
option(REACTOR_CPP_CLANG_TIDY "Enable building with clang-tidy " On)
29+
30+
if (REACTOR_CPP_CLANG_TIDY AND NOT DEFINED LF_REACTOR_CPP_SUFFIX)
2531
find_program(CLANG_TIDY clang-tidy)
2632
if (CLANG_TIDY)
2733
set(CMAKE_CXX_CLANG_TIDY clang-tidy; -header-filter=reactor-cpp/\(.*\)\\.hh; -warnings-as-errors=*;)
@@ -43,9 +49,6 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
4349
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
4450
endif()
4551

46-
option(REACTOR_CPP_PRINT_STATISTICS "Print statistics after execution" OFF)
47-
option(REACTOR_CPP_TRACE "Enable tracing" OFF)
48-
option(REACTOR_CPP_VALIDATE "Enable runtime validation" ON)
4952
if (NOT DEFINED REACTOR_CPP_LOG_LEVEL)
5053
set(REACTOR_CPP_LOG_LEVEL 3)
5154
endif()

lib/CMakeLists.txt

+13-11
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,19 @@ set_target_properties(${LIB_TARGET} PROPERTIES
5353
VERSION ${PROJECT_VERSION}
5454
SOVERSION 1)
5555

56-
if(DEFINED LF_REACTOR_CPP_SUFFIX)
57-
install(FILES "${PROJECT_BINARY_DIR}/include/reactor-cpp/config.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${LIB_TARGET}/reactor-cpp")
58-
else()
59-
install(FILES "${PROJECT_BINARY_DIR}/include/reactor-cpp/config.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/reactor-cpp")
60-
endif()
56+
if(REACTOR_CPP_INSTALL)
57+
if(DEFINED LF_REACTOR_CPP_SUFFIX)
58+
install(FILES "${PROJECT_BINARY_DIR}/include/reactor-cpp/config.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${LIB_TARGET}/reactor-cpp")
59+
else()
60+
install(FILES "${PROJECT_BINARY_DIR}/include/reactor-cpp/config.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/reactor-cpp")
61+
endif()
6162

62-
install(TARGETS ${LIB_TARGET} EXPORT ${LIB_TARGET}Config
63-
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" OPTIONAL
64-
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" OPTIONAL
65-
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" OPTIONAL)
63+
install(TARGETS ${LIB_TARGET} EXPORT ${LIB_TARGET}Config
64+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" OPTIONAL
65+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" OPTIONAL
66+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" OPTIONAL)
6667

67-
install(EXPORT ${LIB_TARGET}Config DESTINATION share/${LIB_TARGET}/cmake)
68+
install(EXPORT ${LIB_TARGET}Config DESTINATION share/${LIB_TARGET}/cmake)
6869

69-
export(TARGETS ${PROJECT_NAME} FILE ${LIB_TARGET}Config.cmake)
70+
export(TARGETS ${PROJECT_NAME} FILE ${LIB_TARGET}Config.cmake)
71+
endif()

0 commit comments

Comments
 (0)