File tree Expand file tree Collapse file tree 2 files changed +26
-15
lines changed Expand file tree Collapse file tree 2 files changed +26
-15
lines changed Original file line number Diff line number Diff line change @@ -2,16 +2,18 @@ cmake_minimum_required(VERSION 3.20)
2
2
3
3
if (DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE )
4
4
set (CMAKE_TOOLCHAIN_FILE
5
- "$ENV{VCPKG_ROOT} /scripts/buildsystems/vcpkg.cmake"
6
- CACHE STRING "" )
5
+ "$ENV{VCPKG_ROOT} /scripts/buildsystems/vcpkg.cmake"
6
+ CACHE STRING "" )
7
7
endif ()
8
+
8
9
message (STATUS "TOOLCHAIN: ${CMAKE_TOOLCHAIN_FILE} " )
9
10
10
11
project (FrameGraph )
12
+
11
13
if (PROJECT_BINARY_DIR STREQUAL PROJECT_SOURCE_DIR )
12
14
message (
13
15
FATAL_ERROR
14
- "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there."
16
+ "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there."
15
17
)
16
18
endif ()
17
19
@@ -25,11 +27,10 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
25
27
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" ) # .lib
26
28
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /lib" ) # .dll
27
29
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /bin" ) # .exe
28
-
29
- option (BUILD_SHARED_LIBS "Use shared libraries" OFF )
30
- set (BUILD_TESTING ON )
31
30
endif ()
32
31
32
+ option (FG_BUILD_TEST ON )
33
+
33
34
add_library (
34
35
FrameGraph
35
36
"include/fg/TypeTraits.hpp"
@@ -57,11 +58,13 @@ target_include_directories(
57
58
58
59
add_library (fg::FrameGraph ALIAS FrameGraph )
59
60
60
- if (BUILD_TESTING )
61
+ if (FG_BUILD_TEST )
61
62
enable_testing ()
62
63
add_subdirectory (tests )
63
64
endif ()
64
65
65
66
include (GNUInstallDirs )
66
- install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /include/fg
67
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
67
+ install (
68
+ DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /include/fg
69
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
70
+ )
Original file line number Diff line number Diff line change 1
- #define CATCH_CONFIG_MAIN
2
1
#include " fg/FrameGraph.hpp"
3
2
#include " fg/Blackboard.hpp"
4
- #include " catch2/catch.hpp"
3
+ #include " catch.hpp"
4
+ #include < fstream>
5
5
6
6
struct BadResource {
7
7
struct Desc {};
@@ -265,18 +265,26 @@ TEST_CASE("Blackboard", "[Blackboard]") {
265
265
};
266
266
bb.add <FooData>() = {1 , 2 , 3 };
267
267
REQUIRE (bb.has <FooData>());
268
+ REQUIRE (bb.try_get <FooData>());
269
+
270
+ auto *foo = bb.try_get <FooData>();
268
271
269
272
struct BarData {
270
273
int32_t i, j, k;
271
274
};
272
275
bb.add <BarData>(9 , 8 , 7 );
273
276
REQUIRE (bb.has <BarData>());
274
277
275
- CHECK (bb.get <FooData>().x == 1 );
276
- CHECK (bb.get <FooData>().y == 2 );
277
- CHECK (bb.get <FooData>().z == 3 );
278
-
279
278
CHECK (bb.get <BarData>().i == 9 );
280
279
CHECK (bb.get <BarData>().j == 8 );
281
280
CHECK (bb.get <BarData>().k == 7 );
281
+
282
+ CHECK (foo->x == 1 );
283
+ CHECK (foo->y == 2 );
284
+ CHECK (foo->z == 3 );
285
+
286
+ foo->x = 100 ;
287
+ CHECK (bb.get <FooData>().x == 100 );
282
288
}
289
+
290
+ int main (int argc, char *argv[]) { return Catch::Session ().run (argc, argv); }
You can’t perform that action at this time.
0 commit comments