# Copyright (c) 2023 Dominic Msters # # This software is released under the MIT License. # https://opensource.org/licenses/MIT # Texture Build Tool project(prefabtool VERSION 1.0) add_executable(prefabtool) # Sources target_sources(prefabtool PRIVATE ${DAWN_SHARED_SOURCES} ${DAWN_TOOL_SOURCES} PrefabTool.cpp PrefabGen.cpp PrefabParser.cpp ) # Includes target_include_directories(prefabtool PUBLIC ${DAWN_SHARED_INCLUDES} ${DAWN_TOOL_INCLUDES} ${CMAKE_CURRENT_LIST_DIR} ) # Definitions target_compile_definitions(prefabtool PUBLIC ${DAWN_SHARED_DEFINITIONS} DAWN_TOOL_INSTANCE=PrefabTool DAWN_TOOL_HEADER="PrefabTool.hpp" ) # Libraries target_link_libraries(prefabtool PUBLIC ${DAWN_BUILD_HOST_LIBS} ) # Tool Function function(tool_prefab in) set(DEPS "") if(DAWN_BUILD_TOOLS) set(DEPS prefabtool) endif() STRING(REGEX REPLACE "[\.|\\|\/|\:]" "-" prefab_name ${in}) add_custom_target(prefab_${prefab_name} COMMAND prefabtool --input="${in}" --output="${DAWN_GENERATED_DIR}/generatedprefabs" --sources="${DAWN_SOURCES_DIR}" COMMENT "Generating prefab from ${in}" DEPENDS ${DEPS} ) target_include_directories(${DAWN_TARGET_NAME} PUBLIC ${DAWN_GENERATED_DIR}/generatedprefabs ) add_dependencies(${DAWN_TARGET_NAME} prefab_${prefab_name}) endfunction()