diff --git a/CMakeLists.txt b/CMakeLists.txt index 597995e60..87d351c97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ project( if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Debug) endif() - + message(VERBOSE "*") message(VERBOSE "* ${PROJECT_NAME} v${PROJECT_VERSION} (${CMAKE_BUILD_TYPE})") message(VERBOSE "* Copyright (c) 2017-2025 Michele Caini ") @@ -112,17 +112,7 @@ endif() option(ENTT_INCLUDE_HEADERS "Add all EnTT headers to the EnTT target." OFF) option(ENTT_INCLUDE_NATVIS "Add EnTT natvis files to the EnTT target." OFF) - -if(ENTT_INCLUDE_NATVIS) - if(MSVC) - set(ENTT_HAS_NATVIS TRUE CACHE BOOL "" FORCE) - mark_as_advanced(ENTT_HAS_NATVIS) - endif() - - if(NOT ENTT_HAS_NATVIS) - message(VERBOSE "The option ENTT_INCLUDE_NATVIS is set but natvis files are not supported. They will not be added to the target.") - endif() -endif() +option(ENTT_INCLUDE_TOOLS "Add EnTT tools files to the EnTT target." OFF) if(ENTT_INCLUDE_HEADERS) target_sources( @@ -206,6 +196,17 @@ if(ENTT_INCLUDE_HEADERS) ) endif() +if(ENTT_INCLUDE_NATVIS) + if(MSVC) + set(ENTT_HAS_NATVIS TRUE CACHE BOOL "" FORCE) + mark_as_advanced(ENTT_HAS_NATVIS) + endif() + + if(NOT ENTT_HAS_NATVIS) + message(VERBOSE "The option ENTT_INCLUDE_NATVIS is set but natvis files are not supported. They will not be added to the target.") + endif() +endif() + if(ENTT_HAS_NATVIS) target_sources( EnTT @@ -224,6 +225,14 @@ if(ENTT_HAS_NATVIS) ) endif() +if(ENTT_INCLUDE_TOOLS) + target_sources( + EnTT + INTERFACE + # for example $ + ) +endif() + # Install EnTT and all related files option(ENTT_INSTALL "Install EnTT and all related files." OFF) @@ -321,6 +330,14 @@ if(ENTT_BUILD_TESTING) add_subdirectory(test) endif() +# Testbed + +option(ENTT_BUILD_TESTBED "Enable building testbed." OFF) + +if(ENTT_BUILD_TESTBED) + add_subdirectory(testbed) +endif() + # Documentation option(ENTT_BUILD_DOCS "Enable building with documentation." OFF) diff --git a/testbed/CMakeLists.txt b/testbed/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb