Echo Writes Code

CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
if(NOT WIN32)
  message(STATUS "Skipping crucible-windows: not a Windows-like target")
  return()
endif()

include(CrucibleAddLibrary)
include(CrucibleAddTest)

crucible_add_library(crucible-windows)

target_compile_definitions(crucible-windows INTERFACE
  CRUCIBLE_WINDOWS)

target_compile_definitions(crucible-windows PRIVATE
  NOMINMAX
  _UNICODE
  UNICODE
  WIN32_LEAN_AND_MEAN)

target_include_directories(crucible-windows PUBLIC
  "${CMAKE_CURRENT_SOURCE_DIR}/include")

target_link_libraries(crucible-windows PUBLIC
  crucible-core
  dbghelp)

target_sources(crucible-windows PRIVATE
  source/crucible/windows/backtrace.cpp
  source/crucible/windows/result.cpp
  source/crucible/windows/fs.cpp
  source/crucible/windows/transcoding.cpp)

crucible_add_test(test-crucible-windows)

target_link_libraries(test-crucible-windows PRIVATE
  crucible-testing
  crucible-windows)

target_sources(test-crucible-windows PRIVATE
  tests/crucible/windows/test_backtrace.cpp
  tests/crucible/windows/test_fs.cpp
  tests/crucible/windows/test_transcoding.cpp
  tests/main.cpp)