Compare commits

..

5 Commits

4 changed files with 35 additions and 17 deletions

View File

@@ -18,18 +18,20 @@ macro(CHECK_ENABLE_CXX_FLAG flag)
endmacro() endmacro()
macro(CHECK_ENABLE_DEBUG_CXX_FLAG flag) macro(CHECK_ENABLE_DEBUG_CXX_FLAG flag)
set(CMAKE_REQUIRED_QUIET TRUE) if(CMAKE_BUILD_TYPE STREQUAL "Debug")
check_cxx_compiler_flag("${flag}" CHECK_CXX_FLAG_DEBUG) set(CMAKE_REQUIRED_QUIET TRUE)
unset(CMAKE_REQUIRED_QUIET) check_cxx_compiler_flag("${flag}" CHECK_CXX_FLAG_DEBUG)
unset(CMAKE_REQUIRED_QUIET)
if(CHECK_CXX_FLAG_DEBUG) if(CHECK_CXX_FLAG_DEBUG)
message(STATUS "'${flag}': debug flag is supported.") message(STATUS "'${flag}': debug flag is supported.")
string(CONCAT _CMLIB_DETECTED_CXX_FLAGS_DEBUG "${_CMLIB_DETECTED_CXX_FLAGS_DEBUG} ${flag}") string(CONCAT _CMLIB_DETECTED_CXX_FLAGS_DEBUG "${_CMLIB_DETECTED_CXX_FLAGS_DEBUG} ${flag}")
else() else()
message(STATUS "'${flag}': debug flag is NOT supported.") message(STATUS "'${flag}': debug flag is NOT supported.")
endif()
# NOTE: check_cxx_compiler stores variables in the cache.
unset(CHECK_CXX_FLAG_DEBUG CACHE)
endif() endif()
# NOTE: check_cxx_compiler stores variables in the cache.
unset(CHECK_CXX_FLAG_DEBUG CACHE)
endmacro() endmacro()
function(cmlib_set_cxx_standard version) function(cmlib_set_cxx_standard version)

View File

@@ -68,9 +68,11 @@ function(add_breathe_target target)
${RST_FILES} ${WORK_DIR}) ${RST_FILES} ${WORK_DIR})
endif() endif()
endif() endif()
install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/breathe/ install(
COMPONENT doc OPTIONAL DIRECTORY ${CMAKE_BINARY_DIR}/doc/breathe/
DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/breathe) COMPONENT doc
OPTIONAL
DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/breathe)
else() else()
message(STATUS "CMLIB warning:") message(STATUS "CMLIB warning:")
add_custom_target(${target} VERBATIM COMMENT " Breathe is not found. Skipping target ${target} build") add_custom_target(${target} VERBATIM COMMENT " Breathe is not found. Skipping target ${target} build")

View File

@@ -35,9 +35,11 @@ function(add_doxygen_target target)
COMMAND ${DOXYGEN_EXECUTABLE} ${work_dir}/Doxyfile COMMAND ${DOXYGEN_EXECUTABLE} ${work_dir}/Doxyfile
WORKING_DIRECTORY ${work_dir} WORKING_DIRECTORY ${work_dir}
COMMENT "Generating API documentation with Doxygen") COMMENT "Generating API documentation with Doxygen")
install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/doxygen/html/ install(
COMPONENT doc OPTIONAL DIRECTORY ${CMAKE_BINARY_DIR}/doc/doxygen/html/
DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/doxygen) COMPONENT doc
OPTIONAL
DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/doxygen)
else() else()
message(STATUS "CMLIB warning:") message(STATUS "CMLIB warning:")
add_custom_target(${target} VERBATIM COMMENT " Doxygen is not found. Skipping target ${target} build") add_custom_target(${target} VERBATIM COMMENT " Doxygen is not found. Skipping target ${target} build")

View File

@@ -3706,7 +3706,7 @@ if (CMAKE_SCRIPT_MODE_FILE)
COMPILER_VERSION "${CMAKE_${COTIRE_TARGET_LANGUAGE}_COMPILER_VERSION}" COMPILER_VERSION "${CMAKE_${COTIRE_TARGET_LANGUAGE}_COMPILER_VERSION}"
LANGUAGE "${COTIRE_TARGET_LANGUAGE}" LANGUAGE "${COTIRE_TARGET_LANGUAGE}"
IGNORE_PATH "${COTIRE_TARGET_IGNORE_PATH};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH}" IGNORE_PATH "${COTIRE_TARGET_IGNORE_PATH};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH}"
INCLUDE_PATH ${COTIRE_TARGET_INCLUDE_PATH} INCLUDE_PATH "${COTIRE_TARGET_INCLUDE_PATH};${COTIRE_ADDITIONAL_PREFIX_HEADER_INCLUDE_PATH}"
IGNORE_EXTENSIONS "${CMAKE_${COTIRE_TARGET_LANGUAGE}_SOURCE_FILE_EXTENSIONS};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS}" IGNORE_EXTENSIONS "${CMAKE_${COTIRE_TARGET_LANGUAGE}_SOURCE_FILE_EXTENSIONS};${COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS}"
INCLUDE_PRIORITY_PATH ${COTIRE_TARGET_INCLUDE_PRIORITY_PATH} INCLUDE_PRIORITY_PATH ${COTIRE_TARGET_INCLUDE_PRIORITY_PATH}
INCLUDE_DIRECTORIES ${_includeDirs} INCLUDE_DIRECTORIES ${_includeDirs}
@@ -3807,6 +3807,9 @@ else()
set (COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH "" CACHE STRING set (COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH "" CACHE STRING
"Ignore headers from these directories when generating the prefix header.") "Ignore headers from these directories when generating the prefix header.")
set (COTIRE_ADDITIONAL_PREFIX_HEADER_INCLUDE_PATH "" CACHE STRING
"Include headers from these directories when generating the prefix header.")
set (COTIRE_UNITY_SOURCE_EXCLUDE_EXTENSIONS "m;mm" CACHE STRING set (COTIRE_UNITY_SOURCE_EXCLUDE_EXTENSIONS "m;mm" CACHE STRING
"Ignore sources with the listed file extensions from the generated unity source.") "Ignore sources with the listed file extensions from the generated unity source.")
@@ -3883,6 +3886,15 @@ else()
"If not defined, defaults to empty list." "If not defined, defaults to empty list."
) )
define_property(
CACHED_VARIABLE PROPERTY "COTIRE_ADDITIONAL_PREFIX_HEADER_INCLUDE_PATH"
BRIEF_DOCS "Include headers from these directories when generating the prefix header."
FULL_DOCS
"The variable can be set to a semicolon separated list of include directories."
"If a header file is found in one of these directories or sub-directories, it will be included in the generated prefix header."
"If not defined, defaults to empty list."
)
define_property( define_property(
CACHED_VARIABLE PROPERTY "COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS" CACHED_VARIABLE PROPERTY "COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS"
BRIEF_DOCS "Ignore includes with the listed file extensions from the generated prefix header." BRIEF_DOCS "Ignore includes with the listed file extensions from the generated prefix header."