Files
dl/third/LuaBridge3/CMakeLists.txt
T
2026-09-16 14:07:40 +08:00

43 lines
1.2 KiB
CMake
Vendored

cmake_minimum_required (VERSION 3.10)
project (LuaBridge)
include (CMakeDependentOption)
if (NOT CMAKE_CXX_STANDARD)
set (CMAKE_CXX_STANDARD 20)
endif()
set (CMAKE_CXX_STANDARD_REQUIRED ON)
set (CMAKE_CXX_EXTENSIONS OFF)
find_program (FIND_EXECUTABLE find)
find_program (LCOV_EXECUTABLE lcov)
find_program (GENHTML_EXECUTABLE genhtml)
cmake_dependent_option (LUABRIDGE_TESTING "Build tests" ON "CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
cmake_dependent_option (LUABRIDGE_COVERAGE "Enable coverage" OFF "LUABRIDGE_TESTING;FIND_EXECUTABLE;LCOV_EXECUTABLE;GENHTML_EXECUTABLE" OFF)
cmake_dependent_option (LUABRIDGE_BENCHMARKS "Build benchmark executable" OFF "CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
set (LUABRIDGE_SANITIZE "" CACHE STRING "Sanitizer to enable (address, undefined, thread)")
add_subdirectory (Source)
if (LUABRIDGE_TESTING)
include (CTest)
enable_testing()
set (gtest_force_shared_crt ON CACHE BOOL "Use /MD and /MDd" FORCE)
add_subdirectory (ThirdParty/googletest)
add_subdirectory (Tests)
endif ()
if (LUABRIDGE_BENCHMARKS)
add_subdirectory (Benchmarks)
endif ()
add_custom_target (Documentation SOURCES
CHANGES.md
README.md
Manual.md
Doxyfile
)