Add iwyu
This commit is contained in:
+6
-4
@@ -57,6 +57,7 @@ OPTION(USE_DYNLOAD "Use dynamic load of modules" ON)
|
|||||||
OPTION(USE_SSE "Build with SSE support" ON)
|
OPTION(USE_SSE "Build with SSE support" ON)
|
||||||
OPTION(USE_WERROR "Warnings as errors" OFF)
|
OPTION(USE_WERROR "Warnings as errors" OFF)
|
||||||
OPTION(USE_STATIC "Use static libs" OFF)
|
OPTION(USE_STATIC "Use static libs" OFF)
|
||||||
|
OPTION(USE_IWYU "Use include what you use tool" OFF)
|
||||||
|
|
||||||
# ####################################################################################################################################################
|
# ####################################################################################################################################################
|
||||||
# Release configuration
|
# Release configuration
|
||||||
@@ -237,10 +238,6 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -funroll-loops")
|
|||||||
|
|
||||||
# if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") endif()
|
# if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") endif()
|
||||||
|
|
||||||
IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wlogical-op")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
IF(USE_WERROR)
|
IF(USE_WERROR)
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@@ -253,6 +250,11 @@ IF(BUILD_WITH_THREAD_SANITIZER)
|
|||||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=thread")
|
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=thread")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(USE_IWYU)
|
||||||
|
FIND_PROGRAM(iwyu_path NAMES include-what-you-use iwyu REQUIRED)
|
||||||
|
SET(CXX_INCLUDE_WHAT_YOU_USE ON)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# ####################################################################################################################################################
|
# ####################################################################################################################################################
|
||||||
# Configure targets
|
# Configure targets
|
||||||
# ####################################################################################################################################################
|
# ####################################################################################################################################################
|
||||||
|
|||||||
@@ -81,6 +81,10 @@ TARGET_LINK_LIBRARIES(${PROJECT_LIBRARY} ${CALYP_LIB_LINKER_DEPENDENCIES})
|
|||||||
# TARGET_INCLUDE_DIRECTORIES(${PROJECT_LIBRARY} PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
|
# TARGET_INCLUDE_DIRECTORIES(${PROJECT_LIBRARY} PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
|
||||||
SET_TARGET_PROPERTIES(${PROJECT_LIBRARY} PROPERTIES VERSION ${CALYP_VERSION} SOVERSION ${CALYP_VERSION_MAJOR})
|
SET_TARGET_PROPERTIES(${PROJECT_LIBRARY} PROPERTIES VERSION ${CALYP_VERSION} SOVERSION ${CALYP_VERSION_MAJOR})
|
||||||
|
|
||||||
|
IF(USE_IWYU)
|
||||||
|
SET_PROPERTY(TARGET ${PROJECT_LIBRARY} PROPERTY CXX_INCLUDE_WHAT_YOU_USE ${iwyu_path})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
EXPORT(TARGETS ${PROJECT_LIBRARY} FILE ${CMAKE_CURRENT_BINARY_DIR}/CalypTargets.cmake)
|
EXPORT(TARGETS ${PROJECT_LIBRARY} FILE ${CMAKE_CURRENT_BINARY_DIR}/CalypTargets.cmake)
|
||||||
EXPORT(PACKAGE ${PROJECT_LIBRARY})
|
EXPORT(PACKAGE ${PROJECT_LIBRARY})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user