mirror of
https://github.com/bensuperpc/astar.git
synced 2025-06-22 16:53:35 +02:00
33
cmake/coverage.cmake
Normal file
33
cmake/coverage.cmake
Normal file
@ -0,0 +1,33 @@
|
||||
# ---- Variables ----
|
||||
|
||||
# We use variables separate from what CTest uses, because those have
|
||||
# customization issues
|
||||
set(
|
||||
COVERAGE_TRACE_COMMAND
|
||||
lcov -c -q
|
||||
-o "${PROJECT_BINARY_DIR}/coverage.info"
|
||||
-d "${PROJECT_BINARY_DIR}"
|
||||
--include "${PROJECT_SOURCE_DIR}/*"
|
||||
CACHE STRING
|
||||
"; separated command to generate a trace for the 'coverage' target"
|
||||
)
|
||||
|
||||
set(
|
||||
COVERAGE_HTML_COMMAND
|
||||
genhtml --legend -f -q
|
||||
"${PROJECT_BINARY_DIR}/coverage.info"
|
||||
-p "${PROJECT_SOURCE_DIR}"
|
||||
-o "${PROJECT_BINARY_DIR}/coverage_html"
|
||||
CACHE STRING
|
||||
"; separated command to generate an HTML report for the 'coverage' target"
|
||||
)
|
||||
|
||||
# ---- Coverage target ----
|
||||
|
||||
add_custom_target(
|
||||
coverage
|
||||
COMMAND ${COVERAGE_TRACE_COMMAND}
|
||||
COMMAND ${COVERAGE_HTML_COMMAND}
|
||||
COMMENT "Generating coverage report"
|
||||
VERBATIM
|
||||
)
|
21
cmake/dev-mode.cmake
Normal file
21
cmake/dev-mode.cmake
Normal file
@ -0,0 +1,21 @@
|
||||
include(cmake/folders.cmake)
|
||||
|
||||
include(CTest)
|
||||
if(BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
option(BUILD_MCSS_DOCS "Build documentation using Doxygen and m.css" OFF)
|
||||
if(BUILD_MCSS_DOCS)
|
||||
include(cmake/docs.cmake)
|
||||
endif()
|
||||
|
||||
option(ENABLE_COVERAGE "Enable coverage support separate from CTest's" OFF)
|
||||
if(ENABLE_COVERAGE)
|
||||
include(cmake/coverage.cmake)
|
||||
endif()
|
||||
|
||||
include(cmake/lint-targets.cmake)
|
||||
include(cmake/spell-targets.cmake)
|
||||
|
||||
add_folders(Project)
|
112
cmake/docs-ci.cmake
Normal file
112
cmake/docs-ci.cmake
Normal file
@ -0,0 +1,112 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
foreach(var IN ITEMS PROJECT_BINARY_DIR PROJECT_SOURCE_DIR)
|
||||
if(NOT DEFINED "${var}")
|
||||
message(FATAL_ERROR "${var} must be defined")
|
||||
endif()
|
||||
endforeach()
|
||||
set(bin "${PROJECT_BINARY_DIR}")
|
||||
set(src "${PROJECT_SOURCE_DIR}")
|
||||
|
||||
# ---- Dependencies ----
|
||||
|
||||
set(mcss_SOURCE_DIR "${bin}/docs/.ci")
|
||||
if(NOT IS_DIRECTORY "${mcss_SOURCE_DIR}")
|
||||
file(MAKE_DIRECTORY "${mcss_SOURCE_DIR}")
|
||||
file(
|
||||
DOWNLOAD
|
||||
https://github.com/friendlyanon/m.css/releases/download/release-1/mcss.zip
|
||||
"${mcss_SOURCE_DIR}/mcss.zip"
|
||||
STATUS status
|
||||
EXPECTED_MD5 00cd2757ebafb9bcba7f5d399b3bec7f
|
||||
)
|
||||
if(NOT status MATCHES "^0;")
|
||||
message(FATAL_ERROR "Download failed with ${status}")
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND "${CMAKE_COMMAND}" -E tar xf mcss.zip
|
||||
WORKING_DIRECTORY "${mcss_SOURCE_DIR}"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
if(NOT result EQUAL "0")
|
||||
message(FATAL_ERROR "Extraction failed with ${result}")
|
||||
endif()
|
||||
file(REMOVE "${mcss_SOURCE_DIR}/mcss.zip")
|
||||
endif()
|
||||
|
||||
find_program(Python3_EXECUTABLE NAMES python3 python)
|
||||
if(NOT Python3_EXECUTABLE)
|
||||
message(FATAL_ERROR "Python executable was not found")
|
||||
endif()
|
||||
|
||||
# ---- Process project() call in CMakeLists.txt ----
|
||||
|
||||
file(READ "${src}/CMakeLists.txt" content)
|
||||
|
||||
string(FIND "${content}" "project(" index)
|
||||
if(index EQUAL "-1")
|
||||
message(FATAL_ERROR "Could not find \"project(\"")
|
||||
endif()
|
||||
string(SUBSTRING "${content}" "${index}" -1 content)
|
||||
|
||||
string(FIND "${content}" "\n)\n" index)
|
||||
if(index EQUAL "-1")
|
||||
message(FATAL_ERROR "Could not find \"\\n)\\n\"")
|
||||
endif()
|
||||
string(SUBSTRING "${content}" 0 "${index}" content)
|
||||
|
||||
file(WRITE "${bin}/docs-ci.project.cmake" "docs_${content}\n)\n")
|
||||
|
||||
macro(list_pop_front list out)
|
||||
list(GET "${list}" 0 "${out}")
|
||||
list(REMOVE_AT "${list}" 0)
|
||||
endmacro()
|
||||
|
||||
function(docs_project name)
|
||||
cmake_parse_arguments(PARSE_ARGV 1 "" "" "VERSION;DESCRIPTION;HOMEPAGE_URL" LANGUAGES)
|
||||
set(PROJECT_NAME "${name}" PARENT_SCOPE)
|
||||
if(DEFINED _VERSION)
|
||||
set(PROJECT_VERSION "${_VERSION}" PARENT_SCOPE)
|
||||
string(REGEX MATCH "^[0-9]+(\\.[0-9]+)*" versions "${_VERSION}")
|
||||
string(REPLACE . ";" versions "${versions}")
|
||||
set(suffixes MAJOR MINOR PATCH TWEAK)
|
||||
while(NOT versions STREQUAL "" AND NOT suffixes STREQUAL "")
|
||||
list_pop_front(versions version)
|
||||
list_pop_front(suffixes suffix)
|
||||
set("PROJECT_VERSION_${suffix}" "${version}" PARENT_SCOPE)
|
||||
endwhile()
|
||||
endif()
|
||||
if(DEFINED _DESCRIPTION)
|
||||
set(PROJECT_DESCRIPTION "${_DESCRIPTION}" PARENT_SCOPE)
|
||||
endif()
|
||||
if(DEFINED _HOMEPAGE_URL)
|
||||
set(PROJECT_HOMEPAGE_URL "${_HOMEPAGE_URL}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
include("${bin}/docs-ci.project.cmake")
|
||||
|
||||
# ---- Generate docs ----
|
||||
|
||||
if(NOT DEFINED DOXYGEN_OUTPUT_DIRECTORY)
|
||||
set(DOXYGEN_OUTPUT_DIRECTORY "${bin}/docs")
|
||||
endif()
|
||||
set(out "${DOXYGEN_OUTPUT_DIRECTORY}")
|
||||
|
||||
foreach(file IN ITEMS Doxyfile conf.py)
|
||||
configure_file("${src}/docs/${file}.in" "${bin}/docs/${file}" @ONLY)
|
||||
endforeach()
|
||||
|
||||
set(mcss_script "${mcss_SOURCE_DIR}/documentation/doxygen.py")
|
||||
set(config "${bin}/docs/conf.py")
|
||||
|
||||
file(REMOVE_RECURSE "${out}/html" "${out}/xml")
|
||||
|
||||
execute_process(
|
||||
COMMAND "${Python3_EXECUTABLE}" "${mcss_script}" "${config}"
|
||||
WORKING_DIRECTORY "${bin}/docs"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
if(NOT result EQUAL "0")
|
||||
message(FATAL_ERROR "m.css returned with ${result}")
|
||||
endif()
|
46
cmake/docs.cmake
Normal file
46
cmake/docs.cmake
Normal file
@ -0,0 +1,46 @@
|
||||
# ---- Dependencies ----
|
||||
|
||||
set(extract_timestamps "")
|
||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24")
|
||||
set(extract_timestamps DOWNLOAD_EXTRACT_TIMESTAMP YES)
|
||||
endif()
|
||||
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
mcss URL
|
||||
https://github.com/friendlyanon/m.css/releases/download/release-1/mcss.zip
|
||||
URL_MD5 00cd2757ebafb9bcba7f5d399b3bec7f
|
||||
SOURCE_DIR "${PROJECT_BINARY_DIR}/mcss"
|
||||
UPDATE_DISCONNECTED YES
|
||||
${extract_timestamps}
|
||||
)
|
||||
FetchContent_MakeAvailable(mcss)
|
||||
|
||||
find_package(Python3 3.6 REQUIRED)
|
||||
|
||||
# ---- Declare documentation target ----
|
||||
|
||||
set(
|
||||
DOXYGEN_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/docs"
|
||||
CACHE PATH "Path for the generated Doxygen documentation"
|
||||
)
|
||||
|
||||
set(working_dir "${PROJECT_BINARY_DIR}/docs")
|
||||
|
||||
foreach(file IN ITEMS Doxyfile conf.py)
|
||||
configure_file("docs/${file}.in" "${working_dir}/${file}" @ONLY)
|
||||
endforeach()
|
||||
|
||||
set(mcss_script "${mcss_SOURCE_DIR}/documentation/doxygen.py")
|
||||
set(config "${working_dir}/conf.py")
|
||||
|
||||
add_custom_target(
|
||||
docs
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove_directory
|
||||
"${DOXYGEN_OUTPUT_DIRECTORY}/html"
|
||||
"${DOXYGEN_OUTPUT_DIRECTORY}/xml"
|
||||
COMMAND "${Python3_EXECUTABLE}" "${mcss_script}" "${config}"
|
||||
COMMENT "Building documentation using Doxygen and m.css"
|
||||
WORKING_DIRECTORY "${working_dir}"
|
||||
VERBATIM
|
||||
)
|
21
cmake/folders.cmake
Normal file
21
cmake/folders.cmake
Normal file
@ -0,0 +1,21 @@
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS YES)
|
||||
|
||||
# Call this function at the end of a directory scope to assign a folder to
|
||||
# targets created in that directory. Utility targets will be assigned to the
|
||||
# UtilityTargets folder, otherwise to the ${name}Targets folder. If a target
|
||||
# already has a folder assigned, then that target will be skipped.
|
||||
function(add_folders name)
|
||||
get_property(targets DIRECTORY PROPERTY BUILDSYSTEM_TARGETS)
|
||||
foreach(target IN LISTS targets)
|
||||
get_property(folder TARGET "${target}" PROPERTY FOLDER)
|
||||
if(DEFINED folder)
|
||||
continue()
|
||||
endif()
|
||||
set(folder Utility)
|
||||
get_property(type TARGET "${target}" PROPERTY TYPE)
|
||||
if(NOT type STREQUAL "UTILITY")
|
||||
set(folder "${name}")
|
||||
endif()
|
||||
set_property(TARGET "${target}" PROPERTY FOLDER "${folder}Targets")
|
||||
endforeach()
|
||||
endfunction()
|
1
cmake/install-config.cmake
Normal file
1
cmake/install-config.cmake
Normal file
@ -0,0 +1 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/astarTargets.cmake")
|
66
cmake/install-rules.cmake
Normal file
66
cmake/install-rules.cmake
Normal file
@ -0,0 +1,66 @@
|
||||
if(PROJECT_IS_TOP_LEVEL)
|
||||
set(
|
||||
CMAKE_INSTALL_INCLUDEDIR "include/astar-${PROJECT_VERSION}"
|
||||
CACHE STRING ""
|
||||
)
|
||||
set_property(CACHE CMAKE_INSTALL_INCLUDEDIR PROPERTY TYPE PATH)
|
||||
endif()
|
||||
|
||||
# Project is configured with no languages, so tell GNUInstallDirs the lib dir
|
||||
set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "")
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# find_package(<package>) call for consumers to find this project
|
||||
set(package astar)
|
||||
|
||||
install(
|
||||
DIRECTORY include/
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
COMPONENT astar_Development
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS astar_astar
|
||||
EXPORT astarTargets
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${package}ConfigVersion.cmake"
|
||||
COMPATIBILITY SameMajorVersion
|
||||
ARCH_INDEPENDENT
|
||||
)
|
||||
|
||||
# Allow package maintainers to freely override the path for the configs
|
||||
set(
|
||||
astar_INSTALL_CMAKEDIR "${CMAKE_INSTALL_DATADIR}/${package}"
|
||||
CACHE STRING "CMake package config location relative to the install prefix"
|
||||
)
|
||||
set_property(CACHE astar_INSTALL_CMAKEDIR PROPERTY TYPE PATH)
|
||||
mark_as_advanced(astar_INSTALL_CMAKEDIR)
|
||||
|
||||
install(
|
||||
FILES cmake/install-config.cmake
|
||||
DESTINATION "${astar_INSTALL_CMAKEDIR}"
|
||||
RENAME "${package}Config.cmake"
|
||||
COMPONENT astar_Development
|
||||
)
|
||||
|
||||
install(
|
||||
FILES "${PROJECT_BINARY_DIR}/${package}ConfigVersion.cmake"
|
||||
DESTINATION "${astar_INSTALL_CMAKEDIR}"
|
||||
COMPONENT astar_Development
|
||||
)
|
||||
|
||||
install(
|
||||
EXPORT astarTargets
|
||||
NAMESPACE astar::
|
||||
DESTINATION "${astar_INSTALL_CMAKEDIR}"
|
||||
COMPONENT astar_Development
|
||||
)
|
||||
|
||||
if(PROJECT_IS_TOP_LEVEL)
|
||||
include(CPack)
|
||||
endif()
|
13
cmake/lib/backward-cpp.cmake
Normal file
13
cmake/lib/backward-cpp.cmake
Normal file
@ -0,0 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
backward-cpp
|
||||
GIT_REPOSITORY https://github.com/bombela/backward-cpp.git
|
||||
GIT_TAG 0ddfadc4b0f5c53e63259fe804ee595e6f01f4df) # 23-10-2022
|
||||
|
||||
FetchContent_MakeAvailable(backward-cpp)
|
||||
|
||||
# TODO: target_include_directories instead of include_directories
|
||||
include_directories(${backward-cpp_SOURCE_DIR})
|
70
cmake/lib/benchmark.cmake
Executable file
70
cmake/lib/benchmark.cmake
Executable file
@ -0,0 +1,70 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
find_package(benchmark QUIET)
|
||||
|
||||
if (NOT benchmark_FOUND)
|
||||
message(STATUS "benchmark not found on system, downloading...")
|
||||
include(FetchContent)
|
||||
|
||||
set(CMAKE_CXX_CLANG_TIDY_TMP "${CMAKE_CXX_CLANG_TIDY}")
|
||||
set(CMAKE_CXX_CLANG_TIDY "")
|
||||
|
||||
FetchContent_Declare(
|
||||
googlebenchmark
|
||||
GIT_REPOSITORY https://github.com/google/benchmark.git
|
||||
GIT_TAG ca8d0f7b613ac915cd6b161ab01b7be449d1e1cd
|
||||
#GIT_SHALLOW TRUE
|
||||
) # 12-10-2023
|
||||
|
||||
# Disable tests on google benchmark
|
||||
set(BENCHMARK_ENABLE_TESTING
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
set(BENCHMARK_ENABLE_WERROR
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
set(BENCHMARK_FORCE_WERROR
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
|
||||
set(BENCHMARK_ENABLE_INSTALL
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
|
||||
set(BENCHMARK_DOWNLOAD_DEPENDENCIES
|
||||
ON
|
||||
CACHE BOOL "" FORCE)
|
||||
|
||||
set(BENCHMARK_CXX_LINKER_FLAGS
|
||||
""
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
set(BENCHMARK_CXX_LIBRARIES
|
||||
""
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
set(BENCHMARK_CXX_FLAGS
|
||||
""
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_COVERAGE
|
||||
""
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
set(CMAKE_REQUIRED_FLAGS
|
||||
""
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
FetchContent_MakeAvailable(googlebenchmark)
|
||||
# Lib: benchmark::benchmark benchmark::benchmark_main
|
||||
|
||||
set(CMAKE_CXX_CLANG_TIDY "${CMAKE_CXX_CLANG_TIDY_TMP}")
|
||||
|
||||
set_target_properties(benchmark
|
||||
PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
endif()
|
22
cmake/lib/boost.cmake
Executable file
22
cmake/lib/boost.cmake
Executable file
@ -0,0 +1,22 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
if(NOT DEFINED BOOST_INCLUDE_LIBRARIES)
|
||||
set(BOOST_INCLUDE_LIBRARIES system)
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT DEFINED BOOST_ENABLE_CMAKE)
|
||||
set(BOOST_ENABLE_CMAKE ON)
|
||||
endif()
|
||||
|
||||
|
||||
FetchContent_Declare(
|
||||
Boost
|
||||
GIT_REPOSITORY https://github.com/boostorg/boost.git
|
||||
GIT_TAG boost-1.81.0
|
||||
#GIT_SHALLOW TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(Boost)
|
||||
|
15
cmake/lib/drogon.cmake
Normal file
15
cmake/lib/drogon.cmake
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
|
||||
# https://github.com/drogonframework/drogon/issues/1288#issuecomment-1163902139
|
||||
FetchContent_Declare(drogon
|
||||
GIT_REPOSITORY https://github.com/drogonframework/drogon.git
|
||||
GIT_TAG v1.8.4 # 08-04-2023
|
||||
)
|
||||
|
||||
# Reset CXX_FLAGS to avoid warnings from drogon
|
||||
set(CMAKE_CXX_FLAGS_OLD "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "-std=c++17 -O3")
|
||||
|
||||
FetchContent_MakeAvailable(drogon)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_OLD}")
|
11
cmake/lib/fast_noise2.cmake
Normal file
11
cmake/lib/fast_noise2.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
set(FASTNOISE2_NOISETOOL OFF CACHE BOOL "Build Noise Tool" FORCE)
|
||||
|
||||
FetchContent_Declare(FastNoise2
|
||||
GIT_REPOSITORY https://github.com/Auburn/FastNoise2.git
|
||||
GIT_TAG 0928ca22cd4cfd50e9b17cec4fe9d867b59c3943 # 2023-06-07
|
||||
)
|
||||
FetchContent_MakeAvailable(FastNoise2)
|
32
cmake/lib/gtest.cmake
Executable file
32
cmake/lib/gtest.cmake
Executable file
@ -0,0 +1,32 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
find_package(GTest QUIET)
|
||||
|
||||
if (NOT GTEST_FOUND)
|
||||
message(STATUS "GTest not found on system, downloading...")
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG 2dd1c131950043a8ad5ab0d2dda0e0970596586a) # 12-10-2023
|
||||
|
||||
# Disable tests on gtest
|
||||
set(gtest_build_tests
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
set(gtest_build_samples
|
||||
OFF
|
||||
CACHE BOOL "" FORCE)
|
||||
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
# Lib: gtest gtest_main
|
||||
|
||||
set_target_properties(gtest
|
||||
PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
endif()
|
31
cmake/lib/json.cmake
Executable file
31
cmake/lib/json.cmake
Executable file
@ -0,0 +1,31 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
find_package(nlohmann_json QUIET)
|
||||
|
||||
if (NOT nlohmann_json_FOUND)
|
||||
message(STATUS "nlohmann_json not found on system, downloading...")
|
||||
include(FetchContent)
|
||||
|
||||
#set(CMAKE_MODULE_PATH
|
||||
# ""
|
||||
# CACHE STRING "" FORCE)
|
||||
|
||||
#set(NLOHMANN_JSON_SYSTEM_INCLUDE
|
||||
# ""
|
||||
# CACHE STRING "" FORCE)
|
||||
|
||||
FetchContent_Declare(nlohmann_json
|
||||
GIT_REPOSITORY https://github.com/nlohmann/json.git
|
||||
GIT_TAG f56c6e2e30241b9245161a86ae9fecf6543bf411 # 2023-11-26
|
||||
)
|
||||
FetchContent_MakeAvailable(nlohmann_json)
|
||||
# nlohmann_json::nlohmann_json
|
||||
set_target_properties(nlohmann_json
|
||||
PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
include_directories(${nlohmann_json_SOURCE_DIR}/include)
|
||||
endif()
|
42
cmake/lib/opencv.cmake
Normal file
42
cmake/lib/opencv.cmake
Normal file
@ -0,0 +1,42 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
set(OpenCV_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
find_package(OpenCV QUIET)
|
||||
|
||||
if (NOT OpenCV_FOUND)
|
||||
#set(OpenCV_STATIC ON)
|
||||
set(BUILD_EXAMPLES CACHE BOOL OFF)
|
||||
set(BUILD_DOCS CACHE BOOL OFF)
|
||||
set(BUILD_TESTS CACHE BOOL OFF)
|
||||
set(BUILD_PERF_TESTS CACHE BOOL OFF)
|
||||
#set(BUILD_PACKAGE CACHE BOOL OFF)
|
||||
|
||||
|
||||
set(BUILD_opencv_apps CACHE BOOL OFF)
|
||||
|
||||
FetchContent_Declare(
|
||||
OpenCV
|
||||
GIT_REPOSITORY https://github.com/opencv/opencv.git
|
||||
GIT_TAG 4.7.0
|
||||
#GIT_SHALLOW TRUE
|
||||
GIT_PROGRESS TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(OpenCV)
|
||||
#set(OpenCV_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
#include_directories(${OpenCV_INCLUDE_DIRS})
|
||||
#message(FATAL_ERROR "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
|
||||
#find_package(OpenCV REQUIRED)
|
||||
|
||||
#include_directories(${OpenCV_INCLUDE_DIRS})
|
||||
#target_include_directories("${NAME}" PRIVATE
|
||||
#${OPENCV_CONFIG_FILE_INCLUDE_DIR}
|
||||
#${OPENCV_MODULE_opencv_core_LOCATION}/include
|
||||
#${OPENCV_MODULE_opencv_highgui_LOCATION}/include
|
||||
#)
|
||||
#target_link_libraries("${NAME}" PRIVATE opencv_core opencv_highgui)
|
||||
#target_link_libraries("${NAME}" PRIVATE ${OpenCV_LIBS})
|
||||
#opencv_add_module()
|
||||
|
||||
endif()
|
6
cmake/lib/openmp.cmake
Executable file
6
cmake/lib/openmp.cmake
Executable file
@ -0,0 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
find_package(OpenMP)
|
||||
if(OpenMP_CXX_FOUND)
|
||||
# message("OpenMP found")
|
||||
endif()
|
14
cmake/lib/perlin_noise.cmake
Executable file
14
cmake/lib/perlin_noise.cmake
Executable file
@ -0,0 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(perlin_noise
|
||||
GIT_REPOSITORY https://github.com/Reputeless/PerlinNoise.git
|
||||
GIT_TAG bdf39fe92b2a585cdef485bcec2bca8ab5614095 # 2022-12-30
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
)
|
||||
FetchContent_MakeAvailable(perlin_noise)
|
||||
include_directories("${perlin_noise_SOURCE_DIR}")
|
18
cmake/lib/pybind11.cmake
Executable file
18
cmake/lib/pybind11.cmake
Executable file
@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
find_package(Python 3.8 COMPONENTS Interpreter Development REQUIRED)
|
||||
find_package(pybind11)
|
||||
# add_subdirectory(pybind11)
|
||||
|
||||
if (NOT pybind11_FOUND)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
pybind11
|
||||
GIT_REPOSITORY https://github.com/pybind/pybind11.git
|
||||
GIT_TAG v2.10.3
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(pybind11)
|
||||
endif()
|
||||
|
||||
#pybind11_add_module(${PROJECT_NAME} main.cpp)
|
17
cmake/lib/raygui.cmake
Executable file
17
cmake/lib/raygui.cmake
Executable file
@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
set(BUILD_RAYLIB_CPP_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
|
||||
find_package(raygui QUIET)
|
||||
|
||||
if (NOT raygui_FOUND)
|
||||
FetchContent_Declare(raygui
|
||||
GIT_REPOSITORY https://github.com/raysan5/raygui.git
|
||||
GIT_TAG 4.0
|
||||
)
|
||||
FetchContent_MakeAvailable(raygui)
|
||||
include_directories(${raygui_SOURCE_DIR})
|
||||
include_directories(${raygui_SOURCE_DIR}/src)
|
||||
endif()
|
13
cmake/lib/raylib-cpp.cmake
Executable file
13
cmake/lib/raylib-cpp.cmake
Executable file
@ -0,0 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
#find_package(raylib_cpp QUIET)
|
||||
|
||||
if (NOT raylib_cpp_FOUND)
|
||||
FetchContent_Declare(raylib_cpp
|
||||
GIT_REPOSITORY https://github.com/RobLoach/raylib-cpp.git
|
||||
GIT_TAG v5.0.0 # 08-12-2023
|
||||
)
|
||||
FetchContent_MakeAvailable(raylib_cpp)
|
||||
endif()
|
47
cmake/lib/raylib.cmake
Executable file
47
cmake/lib/raylib.cmake
Executable file
@ -0,0 +1,47 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
find_package(raylib QUIET)
|
||||
|
||||
if (NOT raylib_FOUND AND NOT FETCHCONTENT_FULLY_DISCONNECTED)
|
||||
message(STATUS "raylib not found on system, downloading...")
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
if(NOT DEFINED BUILD_EXAMPLES)
|
||||
set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED BUILD_GAMES)
|
||||
set(BUILD_GAMES OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED INCLUDE_EVERYTHING)
|
||||
set(INCLUDE_EVERYTHING ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED OPENGL_VERSION)
|
||||
#set(OPENGL_VERSION OFF CACHE STRING "4.3" FORCE)
|
||||
endif()
|
||||
|
||||
#set (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/install CACHE PATH "default install path" FORCE)
|
||||
#set (CMAKE_INSTALL_LIBDIR ${CMAKE_BINARY_DIR}/lib CACHE PATH "default install path" FORCE)
|
||||
|
||||
#message(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}")
|
||||
FetchContent_Declare(raylib
|
||||
GIT_REPOSITORY https://github.com/raysan5/raylib.git
|
||||
GIT_TAG 5.0 # 08-12-2023
|
||||
)
|
||||
FetchContent_MakeAvailable(raylib)
|
||||
|
||||
set_target_properties(raylib
|
||||
PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
|
||||
set(raylib_FOUND TRUE)
|
||||
else()
|
||||
find_package(raylib 5.0.0 REQUIRED)
|
||||
endif()
|
11
cmake/lib/spdlog.cmake
Normal file
11
cmake/lib/spdlog.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
spdlog
|
||||
GIT_REPOSITORY https://github.com/gabime/spdlog.git
|
||||
GIT_TAG 7e635fca68d014934b4af8a1cf874f63989352b7) # 2023-07-09
|
||||
|
||||
FetchContent_MakeAvailable(spdlog)
|
||||
include_directories("${spdlog_SOURCE_DIR}")
|
14
cmake/lib/threadpool.cmake
Normal file
14
cmake/lib/threadpool.cmake
Normal file
@ -0,0 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(bs-thread-pool
|
||||
GIT_REPOSITORY https://github.com/bshoshany/thread-pool.git
|
||||
GIT_TAG 6790920f61ab3e928ddaea835ab6a803d467f41d # 2023-12-28
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
)
|
||||
FetchContent_MakeAvailable(bs-thread-pool)
|
||||
include_directories("${bs-thread-pool_SOURCE_DIR}/include")
|
10
cmake/lib/vector.cmake
Executable file
10
cmake/lib/vector.cmake
Executable file
@ -0,0 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
vector
|
||||
GIT_REPOSITORY https://github.com/bensuperpc/vector.git
|
||||
GIT_TAG 9febb9c84e7b73e6c621afd920dd3c8bb47a130c) # 2022-10-23
|
||||
|
||||
FetchContent_MakeAvailable(vector)
|
16
cmake/lib/zlib.cmake
Executable file
16
cmake/lib/zlib.cmake
Executable file
@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.14.0)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
find_package(zlib QUIET)
|
||||
|
||||
set(ZLIB_LIBRARY zlib)
|
||||
|
||||
if (NOT zlib_FOUND)
|
||||
FetchContent_Declare(
|
||||
zlib
|
||||
GIT_REPOSITORY https://github.com/madler/zlib.git
|
||||
GIT_TAG v1.2.13
|
||||
)
|
||||
FetchContent_MakeAvailable(zlib)
|
||||
endif()
|
34
cmake/lint-targets.cmake
Normal file
34
cmake/lint-targets.cmake
Normal file
@ -0,0 +1,34 @@
|
||||
set(
|
||||
FORMAT_PATTERNS
|
||||
source/*.cpp source/*.hpp
|
||||
include/*.hpp
|
||||
test/*.cpp test/*.hpp
|
||||
example/*.cpp example/*.hpp
|
||||
CACHE STRING
|
||||
"; separated patterns relative to the project source dir to format"
|
||||
)
|
||||
|
||||
set(FORMAT_COMMAND clang-format CACHE STRING "Formatter to use")
|
||||
|
||||
add_custom_target(
|
||||
format-check
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "FORMAT_COMMAND=${FORMAT_COMMAND}"
|
||||
-D "PATTERNS=${FORMAT_PATTERNS}"
|
||||
-P "${PROJECT_SOURCE_DIR}/cmake/lint.cmake"
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
COMMENT "Linting the code"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
format-fix
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "FORMAT_COMMAND=${FORMAT_COMMAND}"
|
||||
-D "PATTERNS=${FORMAT_PATTERNS}"
|
||||
-D FIX=YES
|
||||
-P "${PROJECT_SOURCE_DIR}/cmake/lint.cmake"
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
COMMENT "Fixing the code"
|
||||
VERBATIM
|
||||
)
|
52
cmake/lint.cmake
Normal file
52
cmake/lint.cmake
Normal file
@ -0,0 +1,52 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
macro(default name)
|
||||
if(NOT DEFINED "${name}")
|
||||
set("${name}" "${ARGN}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
default(FORMAT_COMMAND clang-format)
|
||||
default(
|
||||
PATTERNS
|
||||
source/*.cpp source/*.hpp
|
||||
include/*.hpp
|
||||
test/*.cpp test/*.hpp
|
||||
example/*.cpp example/*.hpp
|
||||
)
|
||||
default(FIX NO)
|
||||
|
||||
set(flag --output-replacements-xml)
|
||||
set(args OUTPUT_VARIABLE output)
|
||||
if(FIX)
|
||||
set(flag -i)
|
||||
set(args "")
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE files ${PATTERNS})
|
||||
set(badly_formatted "")
|
||||
set(output "")
|
||||
string(LENGTH "${CMAKE_SOURCE_DIR}/" path_prefix_length)
|
||||
|
||||
foreach(file IN LISTS files)
|
||||
execute_process(
|
||||
COMMAND "${FORMAT_COMMAND}" --style=file "${flag}" "${file}"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE result
|
||||
${args}
|
||||
)
|
||||
if(NOT result EQUAL "0")
|
||||
message(FATAL_ERROR "'${file}': formatter returned with ${result}")
|
||||
endif()
|
||||
if(NOT FIX AND output MATCHES "\n<replacement offset")
|
||||
string(SUBSTRING "${file}" "${path_prefix_length}" -1 relative_file)
|
||||
list(APPEND badly_formatted "${relative_file}")
|
||||
endif()
|
||||
set(output "")
|
||||
endforeach()
|
||||
|
||||
if(NOT badly_formatted STREQUAL "")
|
||||
list(JOIN badly_formatted "\n" bad_list)
|
||||
message("The following files are badly formatted:\n\n${bad_list}\n")
|
||||
message(FATAL_ERROR "Run again with FIX=YES to fix these files.")
|
||||
endif()
|
10
cmake/prelude.cmake
Normal file
10
cmake/prelude.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
# ---- In-source guard ----
|
||||
|
||||
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"In-source builds are not supported. "
|
||||
"Please read the BUILDING document before trying to build this project. "
|
||||
"You may need to delete 'CMakeCache.txt' and 'CMakeFiles/' first."
|
||||
)
|
||||
endif()
|
6
cmake/project-is-top-level.cmake
Normal file
6
cmake/project-is-top-level.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
# This variable is set by project() in CMake 3.21+
|
||||
string(
|
||||
COMPARE EQUAL
|
||||
"${CMAKE_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}"
|
||||
PROJECT_IS_TOP_LEVEL
|
||||
)
|
22
cmake/spell-targets.cmake
Normal file
22
cmake/spell-targets.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
set(SPELL_COMMAND codespell CACHE STRING "Spell checker to use")
|
||||
|
||||
add_custom_target(
|
||||
spell-check
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "SPELL_COMMAND=${SPELL_COMMAND}"
|
||||
-P "${PROJECT_SOURCE_DIR}/cmake/spell.cmake"
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
COMMENT "Checking spelling"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
spell-fix
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "SPELL_COMMAND=${SPELL_COMMAND}"
|
||||
-D FIX=YES
|
||||
-P "${PROJECT_SOURCE_DIR}/cmake/spell.cmake"
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
COMMENT "Fixing spelling errors"
|
||||
VERBATIM
|
||||
)
|
31
cmake/spell.cmake
Executable file
31
cmake/spell.cmake
Executable file
@ -0,0 +1,31 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
macro(default name)
|
||||
if(NOT DEFINED "${name}")
|
||||
set("${name}" "${ARGN}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
default(SPELL_COMMAND codespell)
|
||||
default(FIX NO)
|
||||
|
||||
set(flag "")
|
||||
if(FIX)
|
||||
set(flag -w)
|
||||
endif()
|
||||
|
||||
set(flag "${flag}" --ignore-words codespell.ignore-words.txt)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${SPELL_COMMAND}" ${flag}
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
|
||||
if(result EQUAL "65")
|
||||
message(FATAL_ERROR "Run again with FIX=YES to fix these errors.")
|
||||
elseif(result EQUAL "64")
|
||||
message(FATAL_ERROR "Spell checker printed the usage info. Bad arguments?")
|
||||
elseif(NOT result EQUAL "0")
|
||||
message(FATAL_ERROR "Spell checker returned with ${result}")
|
||||
endif()
|
9
cmake/utile/ccache.cmake
Executable file
9
cmake/utile/ccache.cmake
Executable file
@ -0,0 +1,9 @@
|
||||
find_program(CCACHE_PROGRAM ccache)
|
||||
|
||||
if(CCACHE_PROGRAM)
|
||||
message(NOTICE "-- ccache is enabled (found here: ${CCACHE_PROGRAM})")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "\"${CCACHE_PROGRAM}\"")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "\"${CCACHE_PROGRAM}\"")
|
||||
else()
|
||||
message(WARNING "-- ccache has not been found")
|
||||
endif()
|
11
cmake/utile/distcc.cmake
Executable file
11
cmake/utile/distcc.cmake
Executable file
@ -0,0 +1,11 @@
|
||||
find_program(DISTCC_PROGRAM distcc)
|
||||
|
||||
message(WARNING "distcc module is in beta.")
|
||||
|
||||
if(DISTCC_PROGRAM)
|
||||
message(NOTICE "distcc is enabled (found here: ${DISTCC_PROGRAM})")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "\"${DISTCC_PROGRAM}\"")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "\"${DISTCC_PROGRAM}\"")
|
||||
else()
|
||||
message(NOTICE "distcc has not been found")
|
||||
endif()
|
11
cmake/utile/lto.cmake
Executable file
11
cmake/utile/lto.cmake
Executable file
@ -0,0 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.9.0)
|
||||
|
||||
include(CheckIPOSupported)
|
||||
check_ipo_supported(RESULT supported OUTPUT error)
|
||||
|
||||
if(supported)
|
||||
message(STATUS "IPO / LTO enabled")
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
|
||||
else()
|
||||
message(STATUS "IPO / LTO not supported: <${error}>")
|
||||
endif()
|
9
cmake/utile/ninja_color.cmake
Executable file
9
cmake/utile/ninja_color.cmake
Executable file
@ -0,0 +1,9 @@
|
||||
|
||||
option (FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." TRUE)
|
||||
if (${FORCE_COLORED_OUTPUT})
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
add_compile_options (-fdiagnostics-color=always)
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
add_compile_options (-fcolor-diagnostics)
|
||||
endif ()
|
||||
endif ()
|
28
cmake/variables.cmake
Normal file
28
cmake/variables.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
# ---- Developer mode ----
|
||||
|
||||
# Developer mode enables targets and code paths in the CMake scripts that are
|
||||
# only relevant for the developer(s) of astar
|
||||
# Targets necessary to build the project must be provided unconditionally, so
|
||||
# consumers can trivially build and package the project
|
||||
if(PROJECT_IS_TOP_LEVEL)
|
||||
option(astar_DEVELOPER_MODE "Enable developer mode" OFF)
|
||||
endif()
|
||||
|
||||
# ---- Warning guard ----
|
||||
|
||||
# target_include_directories with the SYSTEM modifier will request the compiler
|
||||
# to omit warnings from the provided paths, if the compiler supports that
|
||||
# This is to provide a user experience similar to find_package when
|
||||
# add_subdirectory or FetchContent is used to consume this project
|
||||
set(warning_guard "")
|
||||
if(NOT PROJECT_IS_TOP_LEVEL)
|
||||
option(
|
||||
astar_INCLUDES_WITH_SYSTEM
|
||||
"Use SYSTEM modifier for astar's includes, disabling warnings"
|
||||
ON
|
||||
)
|
||||
mark_as_advanced(astar_INCLUDES_WITH_SYSTEM)
|
||||
if(astar_INCLUDES_WITH_SYSTEM)
|
||||
set(warning_guard SYSTEM)
|
||||
endif()
|
||||
endif()
|
Reference in New Issue
Block a user