add_library(faset_build_service STATIC ${PROJECT_SOURCE_DIR}/src/editor/build_service.cpp) target_include_directories(faset_build_service PUBLIC ${PROJECT_SOURCE_DIR}/include) target_compile_features(faset_build_service PUBLIC cxx_std_20) target_link_libraries(faset_build_service PUBLIC faset_core faset_scripting_project PRIVATE faset_assets faset_authoring Threads::Threads) if(BUILD_TESTING) add_executable(faset_build_service_tests ${PROJECT_SOURCE_DIR}/tests/build_service_tests.cpp) target_link_libraries(faset_build_service_tests PRIVATE faset_build_service faset_assets) target_compile_definitions(faset_build_service_tests PRIVATE FASET_ENGINE_SOURCE="${PROJECT_SOURCE_DIR}") add_test(NAME process_and_cook COMMAND faset_build_service_tests) add_executable(faset_build_schema_tool ${PROJECT_SOURCE_DIR}/tests/build_schema_tool.cpp) target_link_libraries(faset_build_schema_tool PRIVATE faset_core) add_executable(faset_build_schema_tests ${PROJECT_SOURCE_DIR}/tests/build_schema_tests.cpp) target_link_libraries(faset_build_schema_tests PRIVATE faset_build_service faset_authoring faset_editor_commands) add_dependencies(faset_build_schema_tests faset_build_schema_tool) add_test(NAME build_schema_publication COMMAND faset_build_schema_tests $ ${PROJECT_SOURCE_DIR}) set_tests_properties(build_schema_publication PROPERTIES TIMEOUT 60) endif()