summaryrefslogtreecommitdiff
path: root/cmake/DemoTools.cmake
blob: 8c589f12a5a6ee3c38743537c3661053bbe41679 (plain)
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
44
45
46
47
48
# Build Tools Setup
# Configures asset_packer, seq_compiler, and tracker_compiler

# Asset packer tool
if(DEFINED ASSET_PACKER_PATH)
    set(ASSET_PACKER_CMD ${ASSET_PACKER_PATH})
    set(ASSET_PACKER_DEPENDS ${ASSET_PACKER_PATH})
else()
    add_executable(asset_packer tools/asset_packer.cc)
    target_link_libraries(asset_packer PRIVATE procedural)
    target_include_directories(asset_packer PRIVATE third_party)
    set(ASSET_PACKER_CMD $<TARGET_FILE:asset_packer>)
    set(ASSET_PACKER_DEPENDS asset_packer)
endif()

# Sequence compiler tool
if(DEFINED SEQ_COMPILER_PATH)
    set(SEQ_COMPILER_CMD ${SEQ_COMPILER_PATH})
    set(SEQ_COMPILER_DEPENDS ${SEQ_COMPILER_PATH})
else()
    add_executable(seq_compiler tools/seq_compiler.cc)
    set(SEQ_COMPILER_CMD $<TARGET_FILE:seq_compiler>)
    set(SEQ_COMPILER_DEPENDS seq_compiler)
endif()

# Tracker compiler tool
if(DEFINED TRACKER_COMPILER_PATH)
    set(TRACKER_COMPILER_CMD ${TRACKER_COMPILER_PATH})
    set(TRACKER_COMPILER_DEPENDS ${TRACKER_COMPILER_PATH})
else()
    add_executable(tracker_compiler tools/tracker_compiler.cc)
    set(TRACKER_COMPILER_CMD $<TARGET_FILE:tracker_compiler>)
    set(TRACKER_COMPILER_DEPENDS tracker_compiler)
endif()

# Always build a host-native tracker_compiler for code generation purposes
add_executable(tracker_compiler_host tools/tracker_compiler.cc)
set_target_properties(tracker_compiler_host PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/tools_host")

# Determine which tracker compiler to use for code generation
if(DEMO_CROSS_COMPILE_WIN32)
    set(TRACKER_COMPILER_FINAL_CMD "${CMAKE_SOURCE_DIR}/build_native/tools_host/tracker_compiler_host")
    set(TRACKER_COMPILER_FINAL_DEPENDS tracker_compiler_host)
else()
    set(TRACKER_COMPILER_FINAL_CMD ${TRACKER_COMPILER_CMD})
    set(TRACKER_COMPILER_FINAL_DEPENDS ${TRACKER_COMPILER_DEPENDS})
endif()