removes scc submodule
This commit is contained in:
107
cmake/ConanInline.cmake
Normal file
107
cmake/ConanInline.cmake
Normal file
@ -0,0 +1,107 @@
|
||||
|
||||
set(CONAN_CMAKE_LIST_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
macro(conan_check)
|
||||
# for backwards compatibility
|
||||
cmake_parse_arguments(MARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
find_program(CONAN conan)
|
||||
if(NOT EXISTS ${CONAN})
|
||||
message(FATAL_ERROR "Conan is required. Please see README.md")
|
||||
return()
|
||||
endif()
|
||||
execute_process(COMMAND ${CONAN} --version
|
||||
OUTPUT_VARIABLE CONAN_VERSION_OUTPUT)
|
||||
string(REGEX MATCHALL "[0-9.]+" CONAN_VERSION ${CONAN_VERSION_OUTPUT})
|
||||
if (NOT (CONAN_VERSION VERSION_GREATER_EQUAL 1.36.0))
|
||||
message(FATAL_ERROR "Please upgrade your conan to a version greater or equal 1.36")
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS ${CONAN_CMAKE_LIST_DIR}/conan.cmake)
|
||||
message("Downloading conan.cmake to ${CONAN_CMAKE_LIST_DIR}")
|
||||
set(URL https://raw.githubusercontent.com/conan-io/cmake-conan/0.18.1/conan.cmake)
|
||||
file(DOWNLOAD ${URL} ${CONAN_CMAKE_LIST_DIR}/conan.cmake TIMEOUT 60 STATUS DOWNLOAD_STATUS)
|
||||
list(GET DOWNLOAD_STATUS 0 STATUS_CODE)
|
||||
list(GET DOWNLOAD_STATUS 1 ERROR_MESSAGE)
|
||||
if(NOT (${STATUS_CODE} EQUAL 0))
|
||||
# Exit CMake if the download failed, printing the error message.
|
||||
message(FATAL_ERROR "Error occurred during download: ${ERROR_MESSAGE}")
|
||||
endif()
|
||||
if(NOT EXISTS ${CONAN_CMAKE_LIST_DIR}/conan.cmake)
|
||||
message(FATAL_ERROR "Could not download conan.cmake. Please check your internet connection or proxy settings")
|
||||
endif()
|
||||
file (SIZE ${CONAN_CMAKE_LIST_DIR}/conan.cmake CONAN_CMAKE_SIZE)
|
||||
if(${CONAN_CMAKE_SIZE} EQUAL 0)
|
||||
message(FATAL_ERROR "Could not download conan.cmake. Please check your internet connection or proxy settings")
|
||||
endif()
|
||||
endif()
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
|
||||
include(${CONAN_CMAKE_LIST_DIR}/conan.cmake)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_BINARY_DIR})
|
||||
endmacro()
|
||||
|
||||
macro(conan_setup)
|
||||
set(options TARGETS)
|
||||
cmake_parse_arguments(MARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
|
||||
set(conanfile_cmake_paths ${CMAKE_BINARY_DIR}/conan_paths.cmake)
|
||||
|
||||
set(conanfile_cmake ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
set(conanfile_cmake ${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
endif()
|
||||
|
||||
if(EXISTS "${conanfile_cmake_paths}")
|
||||
include(${conanfile_cmake_paths})
|
||||
elseif(EXISTS "${conanfile_cmake}")
|
||||
include(${conanfile_cmake})
|
||||
if( MARGS_TARGETS)
|
||||
conan_basic_setup(TARGETS)
|
||||
else()
|
||||
conan_basic_setup()
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
function(conan_configure)
|
||||
conan_cmake_generate_conanfile(OFF ${ARGV})
|
||||
endfunction()
|
||||
|
||||
macro(conan_install)
|
||||
set(options BUILD_TYPE BUILD)
|
||||
set(oneValueArgs BUILD_TYPE BUILD)
|
||||
cmake_parse_arguments(MARGS "" "${oneValueArgs}" "" ${ARGN} )
|
||||
if(MARGS_BUILD_TYPE)
|
||||
conan_cmake_autodetect(settings BUILD_TYPE ${MARGS_BUILD_TYPE})
|
||||
else()
|
||||
conan_cmake_autodetect(settings BUILD_TYPE)
|
||||
endif()
|
||||
if(CMAKE_CXX_STANDARD)
|
||||
list(APPEND settings compiler.cppstd=${CMAKE_CXX_STANDARD})
|
||||
endif()
|
||||
if(USE_NCSC_SYSTEMC)
|
||||
list(APPEND settings compiler.libcxx=libstdc++)
|
||||
endif()
|
||||
if (NOT "$ENV{CONAN_PROFILE_NAME}" STREQUAL "")
|
||||
set(CONAN_PROFILE "$ENV{CONAN_PROFILE_NAME}" CACHE INTERNAL "Copied from environment variable")
|
||||
else()
|
||||
set(CONAN_PROFILE "default" CACHE INTERNAL "Copied from environment variable")
|
||||
endif()
|
||||
|
||||
if(MARGS_BUILD)
|
||||
conan_cmake_install(PATH_OR_REFERENCE .
|
||||
BUILD ${MARGS_BUILD}
|
||||
PROFILE_BUILD ${CONAN_PROFILE}
|
||||
SETTINGS ${settings})
|
||||
else()
|
||||
conan_cmake_install(PATH_OR_REFERENCE .
|
||||
BUILD missing
|
||||
PROFILE_BUILD ${CONAN_PROFILE}
|
||||
SETTINGS ${settings})
|
||||
endif()
|
||||
endmacro()
|
34
cmake/FindClangFormat.cmake
Normal file
34
cmake/FindClangFormat.cmake
Normal file
@ -0,0 +1,34 @@
|
||||
# Find Clang format
|
||||
#
|
||||
#
|
||||
if(NOT CLANG_FORMAT_BIN_NAME)
|
||||
set(CLANG_FORMAT_BIN_NAME clang-format)
|
||||
endif()
|
||||
|
||||
# if custom path check there first
|
||||
if(CLANG_FORMAT_ROOT_DIR)
|
||||
find_program(CLANG_FORMAT_BIN
|
||||
NAMES
|
||||
${CLANG_FORMAT_BIN_NAME}
|
||||
PATHS
|
||||
"${CLANG_FORMAT_ROOT_DIR}"
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_program(CLANG_FORMAT_BIN NAMES ${CLANG_FORMAT_BIN_NAME})
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
|
||||
ClangFormat
|
||||
DEFAULT_MSG
|
||||
CLANG_FORMAT_BIN)
|
||||
|
||||
mark_as_advanced(
|
||||
CLANG_FORMAT_BIN)
|
||||
|
||||
if(ClangFormat_FOUND)
|
||||
# A CMake script to find all source files and setup clang-format targets for them
|
||||
include(clang-format)
|
||||
else()
|
||||
message("clang-format not found. Not setting up format targets")
|
||||
endif()
|
40
cmake/clang-format.cmake
Normal file
40
cmake/clang-format.cmake
Normal file
@ -0,0 +1,40 @@
|
||||
# additional target to perform clang-format run, requires clang-format
|
||||
|
||||
set(CLANG_FORMAT_CXX_FILE_EXTENSIONS ${CLANG_FORMAT_CXX_FILE_EXTENSIONS} *.cpp *.h *.cxx *.hxx *.hpp *.cc *.ipp)
|
||||
file(GLOB_RECURSE ALL_SOURCE_FILES ${CLANG_FORMAT_CXX_FILE_EXTENSIONS})
|
||||
|
||||
# Don't include some common build folders
|
||||
set(CLANG_FORMAT_EXCLUDE_PATTERNS ${CLANG_FORMAT_EXCLUDE_PATTERNS} "/CMakeFiles/" "cmake")
|
||||
|
||||
# get all project files file
|
||||
foreach (SOURCE_FILE ${ALL_SOURCE_FILES})
|
||||
foreach (EXCLUDE_PATTERN ${CLANG_FORMAT_EXCLUDE_PATTERNS})
|
||||
string(FIND ${SOURCE_FILE} ${EXCLUDE_PATTERN} EXCLUDE_FOUND)
|
||||
if (NOT ${EXCLUDE_FOUND} EQUAL -1)
|
||||
list(REMOVE_ITEM ALL_SOURCE_FILES ${SOURCE_FILE})
|
||||
endif ()
|
||||
endforeach ()
|
||||
endforeach ()
|
||||
|
||||
set(FORMAT_TARGET_NAME format)
|
||||
if(NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
||||
set(FORMAT_TARGET_NAME format-${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
add_custom_target(${FORMAT_TARGET_NAME}
|
||||
COMMENT "Running clang-format to change files"
|
||||
COMMAND ${CLANG_FORMAT_BIN} -style=file -i ${ALL_SOURCE_FILES}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
add_custom_target(${FORMAT_TARGET_NAME}-check
|
||||
COMMENT "Checking clang-format changes"
|
||||
# Use ! to negate the result for correct output
|
||||
COMMAND !
|
||||
${CLANG_FORMAT_BIN}
|
||||
-style=file
|
||||
-output-replacements-xml
|
||||
${ALL_SOURCE_FILES}
|
||||
| grep -q "replacement offset"
|
||||
)
|
Reference in New Issue
Block a user